راهنمای جامع انتخاب سخت افزار سرور استریمینگ
فرقی نمیکند استریمر گیمر هستید، یک پلتفرم آموزشی آنلاین را اداره میکنید یا میخواهید شبکه تلویزیونی اینترنتی راه اندازی کنید، در این مقاله فالنیک، به بررسی عوامل مختلفی که باید در انتخاب سخت افزار مناسب برای سرور مدیا استریمینگ در نظر بگیرید، میپردازیم و به سوالات زیر پاسخ میدهیم:
- چه سخت افزارهایی برای راه اندازی یک سرور استریمینگ قوی و کارآمد مورد نیاز است؟
- نقش هر یک از این اجزا در عملکرد مدیا استریمینگ چیست؟
- چگونه می توانیم با توجه به نیازها و بودجه، بهترین سخت افزار را انتخاب کنیم؟
برای خرید سرور فیزیکی یا دریافت قیمت سرور hp روی لینک بزنید و از مشاوره کارشناسان باتجربه فالنیک بهرهمند شوید.
فهرست محتوا
آشنایی با عملکرد سرور streaming
استریمینگ یعنی به صورت بلادرنگ صدایی را گوش کنید یا ویدئویی را ببینید. منظور از بلادرنگ این است که به جای اینکه ویدئو یا صدا را دانلود کنید و فایل دانلود شده را پلی کنید، به صورت زنده از آن استفاده کنید و همزمان لود و پلی شود. مثل ویدئوهای اینترنتی یا وب کستهای رویدادهای زنده. اصولا از بستر اینترنت برای استریمینگ مدیا استفاده میشود.
در استریمینگ میتوانید قبل از لود کامل فایل، شروع به دیدن و شنیدن آن کنید، مثلا فیلمی را پلی میکنید و همزمان با لود شدن میتوانید آن را مشاهده کنید یا حتی آن را پخش دوباره کنید. مثال دیگر، ضبط و پخش همزمان مسابقات به صورت زنده است.
اگر اطلاعات بیشتری در مورد سرور استریمینگ نیاز دارید، مقاله سرور استریمینگ چیست؟ را بخوانید.
اجزای اصلی سخت افزار سرور مدیا استریمینگ
چه سخت افزارهایی برای راه اندازی یک سرور استریمینگ قوی و کارآمد مورد نیاز است؟ برای راه اندازی یک سرور استریمینگ قوی و کارآمد اختصاصی یا مجازی به اجزای زیر نیاز دارید:
1- پردازنده (CPU)
- سی پی یو در سرورهای استریمینگ وظایف پردازشی سنگینی مانند رمزگذاری و فشرده سازی محتوا را بر عهده دارد.
- برای استریمینگ روان و بدون وقفه، به پردازندهای قدرتمند با تعداد هستههای بالا و فرکانس کاری مناسب نیاز دارید.
- انتخاب پردازنده مناسب به عواملی مانند نوع محتوا، تعداد کاربران و کیفیت استریمینگ بستگی دارد.
2- حافظه رم (RAM)
- حافظه رم در سرور استریمینگ برای ذخیره سازی موقت دادهها و برنامهها حین پردازش استفاده میشود.
- ظرفیت حافظه رم نقش مهمی در سرعت و کارایی سرور دارد.
- برای استریمینگ روان، به حداقل رم با ظرفیت 8 گیگابایت یا بیشتر نیاز دارید.
3- فضای ذخیره سازی
- برای ذخیره سازی محتوای ویدئویی و صوتی خود به فضای ذخیره سازی کافی نیاز دارید.
- دو نوع هارد دیسک HDD و SSD برای این منظور میتوانید انتخاب کنید.
- هارد دیسکهای HDD ظرفیت ذخیره سازی بالاتری دارند، اما سرعت آنها کندتر است.
- هارد دیسکهای SSD سرعت بالاتری دارند، اما قیمت آنها گرانتر است.
- انتخاب نوع هارد دیسک به نیازها و بودجه شما بستگی دارد.
4- کارت شبکه
- وظیفه انتقال دادهها بین سرور و کاربران را بر عهده دارد.
- برای استریمینگ روان، به کارت شبکهای با پهنای باند بالا نیاز دارید.
- انتخاب کارت شبکه مناسب به نوع اتصال اینترنت و تعداد کاربران شما بستگی دارد.
علاوه بر اجزای اصلی ذکر شده، ممکن است به تجهیزات جانبی دیگری مانند کارت صدا، وب کم و میکروفون نیز نیاز داشته باشید. انتخاب سخت افزار مناسب برای سرور استریمینگ به عوامل مختلفی مانند نوع محتوا، تعداد کاربران، کیفیت استریمینگ، بودجه و نیازهای شما بستگی دارد. در ادامه به بررسی جزئیات هر یک از اجزای اصلی و نکات مهم در انتخاب آنها خواهیم پرداخت.
حداقل سخت افزار مورد نیاز استریمینگ برای 250 اتصال / 720p
CPU | Single AMD/Intel 4-core 2.4 GHz |
Memory | 8GB |
Network Interface | 1GbpsNIC |
Hard drive space | 40GB |
سخت افزارهای موردنیاز برای 2800 اتصال / 720p
CPU | Dual AMD/Intel 16-core 2.4 Ghz |
Memory | 256GB |
Network Interface | 10Gbps SFP+NIC (Fiber/DAC) |
Hard drive space | 40GB |
چه نکاتی را در انتخاب سخت افزار سرور استریمینگ باید در نظر بگیریم؟
چگونه می توانیم با توجه به نیازها و بودجه، بهترین سخت افزار را انتخاب کنیم؟ مهمترین مرحله در راه اندازی سرور streaming انتخاب سرور مناسب استریمینگ است. فرآیند سنجش و انتخاب سختافزار مناسب برای سرور مدیا استریمینگ (Streaming Media)، فرآیند پیچیدهای است. پاسخهای متفاوتی برای “چه توانی برای سرور استریمینگ خود مد نظر دارید؟” وجود دارد که اغلب پاسخ افراد به آن “حداقل مقدار ممکن یا مقداری که برای انجام کار کافی باشد” است. اگر در انتخاب خود تردید دارید، طبیعی و قابل درک است.
از طرفی نمیخواهید زیاد هزینه کنید، اما نمیخواهید در زمانی کوتاه هم نیاز مجدد به خرید پیدا کنید. چنین پاسخهایی، جای انعطاف و تغییر را باقی میگذارد که با ذات منبع محور و غیرقابل پیشبینی ارائه سرویس ویدئو استریمینگ، قابل ترکیب است.
اگر از Streaming Engineهای پیشرو در بازار استفاده میکنید، محدودیتی در تعداد استریمهایی که میتوانید Transcode یا تبدیل کد کنید، وجود ندارد اما با محدودیت در سختافزار سرور و پهنای باندی که دیتاسنتر یا تامین کننده هاستینگ ارائه میدهند، مواجه میشوید. Transcode به فرآیندی گفته میشود که مدیا و ویدئوها از فرمتی به فرمتی دیگر تبدیل میشوند: مانند Beta به VHS و VHS به QuickTime و QuickTime به MPEG.
شما هنگام انتخاب سخت افزار Media Server، چگونه میزان توانی که لازم دارید را تعیین میکنید؟ در این مورد، عوامل مختلفی نقش دارند که مهمترین آن، ایجاد توازن در دو محدودیت است: پهنای باند شبکه و ظرفیت پردازش.
برخی مواقع، تعداد منابع و در نتیجه استریمهای شما زیاد است که خود، عاملی برای ایجاد گلوگاه در ارائه ویدئو استریمینگ است. محدودیت پهنای باند و پر شدن ظرفیت حافظه، باعث میشود سرور برای استریمینگ از حداکثر ظرفیتش استفاده کند. خوشبختانه برای اجتناب از Overload شدن سرور، راهکارهایی وجود دارد که در ادامه به صورت چهار نکته بیان میشود. این چهار نکته به شما کمک میکند سختافزار مدیا سرورتان را طوری انتخاب کنید که نیازهای استریمینگ را برآورده کند.
نکته اول: تعیین تعداد استریمینگ های ورودی و چگونگی بستهبندی آنها
تعداد استریمینگهای ورودی خود را تعیین کنید و بدانید که چگونه بستهبندی میشوند. پردازنده و حافظه، ظرفیت پردازشی سرور را تحت تاثیر قرار میدهند، برای جلوگیری از ایجاد Overload ای که به دلیل محدودیت در ظرفیت پردازشی به وجود میآید، باید تعداد استریمهایی که سرورتان باید به صورت همزمان پردازش کند را بدانید و میزان حافظه رم موردنیاز را پیش بینی کنید.
چند استریم برای Transcode نیاز دارید؟
همه پردازشها به توان پردازشی مشابهی نیاز ندارند. بعد از فهمیدن تعداد استریمهای ورودی که سرورتان باید کنترل کند، باید برنامه پکیج کردن استریمها را برای ارائه بدانید.
فعالیتهای Encoding و Transcoding (رمزگذاری و تبدیل کد)، ذاتاً پردازشهایی مبتنی بر پردازنده هستند. برای مثال، اجرای بعضی چیزها مثل (Flash Media Live Encoder (FMLE، در محیط دسکتاپ، حتی تا 80 درصد از پردازنده استفاده میکند.
به هر حال، مقدار پردازنده لازم برای انجام فعالیتهای سنتی تبدیل کد، متفاوت است. تبدیل کد، یا به تغییر Codecها (مثلا تبدیل VP8 به H.264) یا به Transrating Stream برای دسترسی به (Adaptive Bitrate (ABR اشاره دارد (برای مثال، تبدیل Single Bitrate Stream به چهار نسخه). هر دوی اینها از پردازنده استفاده میکنند اما تغییر Bitrate استریم برای ارائه ABR، پردازنده بیشتری استفاده میکند.
گاهی اوقات هم ممکن است استریم فقط (Transmuxe (Transcode-Multiplexing شود (مثلا تبدیل RTMP به HLS). این فرآیند را Passthrough Processing مینامند: یعنی کاری که پردازنده بسیار کمتری برای پکیجینگ لازم دارد.
اگر لازم است که چندین استریم را برای ارائه ABR، تبدیل کد کنید، به سروری با ظرفیت پردازشی بیشتر نیاز دارید. تعداد استریمهایی که سرور میتواند تبدیل کد کند، بسیار متفاوت است. با این حال ما در اینجا سرورها و حجمهای کاری رایج را بررسی میکنیم تا کاربران را در شناخت آنچه نیاز دارند، کمک کنیم.
نکته دوم: چقدر حافظه لازم دارید؟
حافظه مصرفی در فرایندهای دریافت و بستهبندی، اغلب با کل تعداد اتصالات استریم ورودی، که به صورت فرآیندهای Java، قابل مشاهده هستند، ارتباط دارد. هرچه استریمها و منابع ورودی، بیشتر باشد، سرور شما به ظرفیت پردازشی بیشتری نیاز دارد. مثلا در نصب Wowza Streaming Engine ، نسخه سروری لازم برای (Java Runtime Environment (JRE، به صورت خودکار، نصب میشود. بعضی از گزارشهای کاربران سختافزارهای سنتی، حاکی از آن است که JRE، استفاده از RAM را تا 8 گیگابایت محدود میکند، هرچند نصب سختافزار مدرن، میتواند تا 16 گیگابایت را فراهم کند.
تنظیمات پیشفرض در Wowza Streaming Engine برابر با 10 گیگابایت است، اما این مقدار را میتوانید در XML به حداکثر 16 گیگابایت به ازای هر سختافزار، ویرایش کنید. اغلب رساندن پیکربندی رم به 32 گیگابایت، برای هماهنگ کردن تعداد زیادی از منابع ورودی، مناسب است.
نکته سوم: تخمین حداکثر همزمانی استریم ها در سرور شما
ارتباط بین Stream Bitrate و پهنای باند، بسیار شبیه به ارتباط ورودی و خروجی است، که البته در سمت خروجی، چالش بیشتری وجود دارد. چرا؟ همیشه هم حدس زدن تعداد بینندگانی که دارید یا نسخههایی که آن بینندگان نیاز دارند، راحت نیست.
برای اجتناب از Overloadهای مرتبط با پهنای باند، حداکثر پهنای باند خروجی که در سرور باید کنترل شود را تخمین بزنید. مثال سادهای برای روشنتر شدن مطلب ارائه میدهیم.
فرض کنید دیتاسنتری استفاده میکنید که حداکثر ظرفیت توان عملیاتی 2GB/s را فراهم میکند. اگر بخواهید بر اساس قانون 80 درصدی بالا عمل کنید، باید برای داشتن حداکثر پهنای باندی با سرعت 1.6GB/s، برنامهریزی کنید.
برای اینکه بدانید چه تعداد استریم را میتوانید با سرعت 1.6GB/s تنظیم کنید، باید ابتدا میانگین اندازه استریمی که به مخاطبان ارائه خواهد شد را مشخص کنید. یادتان باشد، متوسط رزولوشن استریم مخاطبان شما، میتواند با رزولوشن استریم اصلی شما متفاوت باشد. اگر استریم اصلی را به نسخههای کوچکتر، تبدیل کد کنید، ممکن است مخاطبان، استریم را 40 درصد کوچکتر از استریم اصلی مشاهده کنند (در مورد استریمهای خروجی، به اندازه استریمی که متوسط مخاطبان میبینند، توجه میکنیم). سه فریم در ثانیه را در نظر بگیرید. برای اندازه استریم به جدول زیر توجه کنید:
با استفاده از اندازه استریم متوسط مخاطبان، با قاطعیت میتوانید پهنای باند مورد نیاز خود را تعیین کنید. برای این کار Stream Bitrate را در حداکثر تعداد استریمها ضرب کنید که حاصل باید از 80 درصد کل پهنای باند در دسترس کمتر باشد:
stream bitrate * number of peak concurrent streams < 80% of total available bandwidth
در ادامه با مثالی همراه باشید. در اینجا چند سناریو برای حداکثر ارتباطات وجود دارد، که اندازه استریم متوسط مخاطبان، مقادیر متفاوتی دارند.
به خاطر داشته باشید که باید پهنای باند استریم ورودی خود را حساب کنید. این مقدار، معمولا درصد کوچکی از تمام استریمهای همزمان شما خواهد بود. در سناریوهایی با تعداد زیادی Broadcastهای یک به یک یا یک به چند، پهنای باند استریمهای ورودی میتواند اضافه شوند.
در نهایت، اگر این محاسبات نشان دهد که پهنای باند سرور شما کافی نیست، میتوانید از CDN استفاده کنید تا استریمهایی را برای هر تعداد مخاطب فراهم کنید. مثالی از Content Delivery Network یا شبکه ارائه محتوا، Wowza CDN است. قابلیتهای Stream Targets این امکان را میدهد تا یک استریم یا گروهی از نسخههای استریم تبدیل کد شده را، از Wowza Streaming Engine گرفته تا Wowza CDN، برای هر تعداد از مخاطبان ارسال کنید.
نکته چهارم: انتخاب مدل درست پیاده سازی
نکتهای دیگر که باید به آن توجه شود این است که، چه در زیرساخت ابری نصب و راهاندازی شود و چه به صورت On-Premise، از فضای سختافزاری سرور استفاده میشود. راهاندازی کلود مزایایی مانند استفاده از منابع کارآمد و صرفهجویی در مخارج کلی دارد.
با این وجود، زیرساخت ابری از مجازی سازی و مدیریت منظم انبوهی از منابع – که به شکل سنتی به منابع فیزیکی مانند پردازنده، شبکه و رم، اضافه میشوند- استفاده میکنند. وقتی با فعالیتهای رایج ذخیره سازی ترکیب میشود، حجم سرویسدهی در ماشین مجازی را کاهش میدهد.
از طرفی دیگر، پیکربندی Bare-Metal، ظرفیتهای پردازشی بزرگتری را فراهم میکند. در سرور Bare Metal، شما میتوانید انتظار استفاده از حداکثر 80 درصد از کل پهنای باند شبکه و حتی درصد بالاتری از پردازنده را داشته باشید. این مورد، قابل مقایسه است با راهاندازی مجازی و ابری که قابلیت استفاده از پردازنده تا 65 درصد و شبکه در دسترس نیز حدود 50 درصد افزایش مییابد. در حالی که مزیت پیکربندی Bare-Metal، دسترسی به منابع بزرگتر است، محیطهای ابری و مجازی، منعطف و کاربرپسند است و قابلیتهای Self-Service ارایه میدهد. برای بسیاری از مردم، این مزایا به معایب آن میارزد.
نکته پنجم: استفاده از GPU Offload و CDN
برای اینکه از حداکثر ظرفیت پردازشی سرور خود استفاده کنید، قابلیتهای زیرساختی وجود دارد که شما میتوانید از آنها استفاده کنید: GPU Offload و CDN ها.
ارتباط GPU Offload و شتابدهی
Wowza Streaming Engine، استفاده از GPU offload در تبدیلکننده های کد (Transcoder) را پشتیبانی میکند بنابراین میتوانید توان پردازشی خود را به حداکثر برسانید. با استفاده از GPU Scaling، کاربران هر دو پیکربندی Cloud و Bare-Metal، میتوانند تا 75 درصد از پردازنده را در تبدیل کد حجمهای کاری Offload کنند. (یعنی پردازش را از دوش پردازنده برداشته و بر روی GPU قرار دهند.)
در تصویر بالا که با عنوان “پیکربندی سادهای برای Broadcast OTT ” میبینید، با فعال کردن GPU scaling، استفاده از CPU را از 68 درصد به 43 درصد کاهش میدهد. با پیشرفتهایی که در GPU های Wowza Streaming Engine ارائه شده، استفاده کمتر از CPU-Workload فراهم شدهاست. در بعضی موارد، بیش از 90 درصد کاهش در CPU-Workload، امکانپذیر است.
Content Delivery Network ها
بکارگیری استریمها در CDN یکی از رایجترین راهها برای حذف گلوگاه (Bottleneck) در سرور است. با استفاده از CDN، برای هر نسخه، استریم خروجی را به یک تک استریم، کاهش میدهد.
همان گونه که اشاره شد، میتوان از قابلیتهای Stream Targets در Wowza Streaming Engine استفاده کرد تا سینگل استریم و یا استریم چند بیت ریتی را در Wowza CDN قرار داد تا به دست عموم مخاطبان برسد. این کار حجم کار را از سرور شما برمیدارد تا استریم برای تعداد بیشتری از مخاطبان به طور همزمان، قابل نمایش باشد و در عین حال دیگر نگرانی از بابت پهنای باند نخواهید داشت.
نکته مهم، پیکربندی CDN است که باعث افزایش چشمگیری در تعداد درخواستها از سرور Wowza Streaming Engine میشود این پیکربندیها شامل Cache Miss Ratio و (Time-To-Live (TTL برای محتوای کش شده است.
هر چند ممکن است این نکات، قطعی و کامل نباشد اما امیدواریم کمک کند تا گزینههای پیش رو و سخت افزار سرور استریمینگتان را به طور مناسب انتخاب کنید. توصیه ما به شما این است که حتی پس از سنجش معیارهای انتخاب، کارایی را تحت لود، تست کنید و یا از مجازی سازی استفاده کنید که امکان هماهنگی و افزودن منابع را به شما میدهد. انتخاب سخت افزار مناسب streaming، فرآیندی پیچیده است و نیاز به دانش و تخصص دارد. اگر در این زمینه تجربه کافی ندارید، پیشنهاد میکنیم از متخصصان IT فالنیک کمک بگیرید.
سرور استریمینگ چه فرقی با گیم سرور داره؟
درود بر شما
احمد عزیز؛ برای آشنایی با گیم سرور و عملکرد آن به مقاله آشنایی با انواع گیم سرور و عملکرد آن ها مراجعه کنید.
سلام. من در قسمت media streaming options سیستمم که میرم اسم اون مغازه ای رو نوشته که ویندوز برام نصب کرده،ممکنه اون شخص نصب کننده به اطلاعات لپ تاپ یا وبگردی ها و دانلودهای من دسترسی داشته باشه؟
سلام و درود
در صورتی که نرم افزار های ریموت روی سیستم نصب باشه این امکان هست برای اطمینان بیشتر در قسمت task manager در قسمت سرویس ها و پراسسورها ببینید چیز غیر عادی فعال است یا خیر.