به "وبلاگ فالنیک ( ایران اچ پی)" خوش آمدید    |   وبسایت فالنیک (ایران اچ پی)
امروز سه شنبه ۳۰ مهر ۱۳۹۸ - تماس با فالنیک : 8363-021

سرور مدیا استریمینگ

فرآیند سنجش و انتخاب سخت‌افزار مناسب برای سرور مدیا استریمینگ (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، تبدیل کد کنید، به سروری با ظرفیت پردازشی بیشتر نیاز دارید. تعداد استریم‌هایی که سرور می‌تواند تبدیل کد کند، بسیار بسیار متفاوت است. با این حال ما در اینجا سرور‌ها و حجم‌های کاری رایج را بررسی می‌کنیم تا کاربران را در شناخت آنچه نیاز دارند، کمک کنیم.

در شکل زیر، پیکربندی ساده‌ای برای Broadcast OTT ارایه شده است.

سرور مدیا استریمینگ

چقدر حافظه لازم دارید؟

حافظه مصرفی در فرایند‌های دریافت و بسته‌بندی، معمولا با کل تعداد اتصالات استریم ورودی، که به صورت فرآیندهای Java، قابل مشاهده هستند، ارتباط دارد: هرچه استریم‌ها و منابع ورودی، بیشتر باشد، سرور شما به ظرفیت پردازشی بیشتری نیاز دارد. مثلا در نصب Wowza Streaming Engine ، نسخه سروری لازم برای (Java Runtime Environment (JRE، به صورت خودکار، نصب می‌شود. بعضی از گزارش‌های کاربران سخت‌افزارهای سنتی، حاکی از آن است که JRE، استفاده از RAM را تا 8 گیگابایت محدود می‌کند، هرچند نصب سخت‌افزار مدرن، می‌تواند تا 16 گیگابایت را فراهم کند.

تنظیمات پیش‌فرض در Wowza Streaming Engine برابر با 10 گیگابایت است، اما این مقدار را می‌توانید در XML به حداکثر 16 گیگابایت به ازای هر سخت‌افزار، ویرایش کنید. معمولا رساندن پیکربندی رم به 32 گیگابایت، برای هماهنگ کردن تعداد زیادی از منابع ورودی، مناسب است.

نکته دوم: تخمین حداکثر همزمانی استریم‌ها در سرور شما

ارتباط بین Stream Bitrate و پهنای باند، بسیار شبیه به ارتباط ورودی و خروجی است، که البته در سمت خروجی، چالش بیشتری وجود دارد. چرا؟ همیشه هم حدس زدن تعداد بینندگانی که دارید و یا نسخه‌هایی که آن بینندگان نیاز دارند، راحت نیست.

بیت ریت - Bit Rate چیست؟

 

برای اجتناب از Overload‌های مرتبط با پهنای باند، حداکثر پهنای باند خروجی که در سرور باید کنترل شود را تخمین بزنید. مثال ساده‌ای برای روشن‌تر شدن مطلب ارایه می‌دهم.

فرض کنید دیتاسنتری استفاده می‌کنید که حداکثر ظرفیت توان عملیاتی 2GB/s را فراهم می‌کند. اگر بخواهید بر اساس قانون 80 درصدی بالا عمل کنید، باید برای داشتن حداکثر پهنای باندی با سرعت 1.6 GB/s، برنامه‌ریزی کنید.

برای اینکه بدانید چه تعداد استریم را می‌توانید با سرعت 1.6 GB/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 برای محتوای کش شده است.

حرف آخر

هر چند که ممکن است این نکات، قطعی و کامل نباشد اما امیدواریم کمک کند تا گزینه‌های پیش رو و منابع سرورتان را به طور مناسب انتخاب کنید. توصیه ما به شما این است که حتی پس از سنجش معیارهای انتخاب، کارایی را تحت لود، تست کنید و یا از مجازی سازی استفاده کنید که امکان هماهنگی و افزودن منابع را به شما می‌دهد.

برای مشاوره و خرید انواع سرورهای اچ پی، می‌توانید به لینک زیر مراجعه کنید:

سرور اچ پی با گارانتی معتبر ایران اچ پی
فالنیک (ایران اچ پی)، دارنده سبد کامل سرور اچ پی و تنها گارانتی رسمی و معتبر سرور اچ پی در ایران. همراه با ثبت پیش فاکتور و پیکربندی آنلاین. برای کسب اطلاعات بیشتر، کلیک کنید:
مشاوره و خرید


نویسنده :

انتخاب سخت افزار مناسب برای سرور مدیا استریمینگ
3 رای، میانگین 3.7 از 5

دیدگاه بگذارید

avatar
  اشتراک  
اطلاع رسانی
نکات مهم در ریکاوری و بازیابی اطلاعات
نرم افزار مایکروسافت داینامیک crm
ایبوک فالنیک
تک تاک
پادکست
نویسنده مهمان فالنیک
پربازدید ترین مطالب
  • ماه
  • فصل
  • کل
استفاده از مطالب سایت فالنیک (ایران اچ پی) فقط برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. کلیه حقوق سایت متعلق به فالنیک (ایران اچ پی) است.
عضویت در خبرنامه سرور فالنیک (ایران اچ پی)

عضویت در خبرنامه سرور فالنیک (ایران اچ پی)

با عضویت در خبرنامه سرور فالنیک (ایران اچ پی) اولین نفری باشید که مقالات و محتواهای ناب و تخصصی را دریافت می کنید.

تبریک، شما با موفقیت در خبرنامه عضو شدید.