طراحی زیرساخت BigBlueButton برای ۱۰,۰۰۰ دانشآموز؛ چه تعداد سرور HPE نیاز داریم؟
اگر قرار باشد یک آموزشگاه، دانشگاه یا سازمان آموزشی برای ۱۰,۰۰۰ دانشآموز کلاس آنلاین برگزار کند، اولین سوال این است:
آیا یک سرور قدرتمند کافی است؟
پاسخ کوتاه خیر است.
BigBlueButton به گونهای طراحی شده که هر سرور تعداد مشخصی کلاس همزمان را مدیریت میکند و برای مقیاسهای بزرگ باید از چندین سرور به همراه Load Balancer استفاده شود. خود توسعهدهندگان BigBlueButton نیز توصیه میکنند برای تعداد زیاد کاربران از کلاستر چند سروری استفاده شود و هر سرور را در محدوده ظرفیت مناسب نگه دارید. (docs.bigbluebutton.org)
سناریوی این مقاله
فرض کنید یک مجموعه آموزشی دارای شرایط زیر است:
- ۱۰,۰۰۰ دانشآموز ثبتنام شده
- ۵۰۰ مدرس
- ۲۰۰ کلاس همزمان
- هر کلاس حدود ۵۰ نفر
- اشتراکگذاری تصویر، صدا و اسلاید
- برخی کلاسها ضبط میشوند
در واقع منظور از ۱۰,۰۰۰ دانشآموز، ۱۰,۰۰۰ کاربر ثبتنامی است که در ساعات مختلف وارد کلاس میشوند، نه اینکه همه در یک کلاس حضور داشته باشند.
معماری پیشنهادی
Internet
│
Load Balancer
│
────────────────────────────
BBB Server 1
BBB Server 2
BBB Server 3
BBB Server 4
BBB Server 5
BBB Server 6
BBB Server 7
BBB Server 8
────────────────────────────
Recording Server
Storage Server
Monitoring Server
این ساختار باعث میشود اگر یکی از سرورها از دسترس خارج شود، سایر سرورها همچنان سرویس ارائه دهند.
هر سرور چه ظرفیتی دارد؟
تجربه عملی نشان داده است که یک سرور BigBlueButton با سختافزار مناسب معمولاً حدود ۱۵۰ تا ۲۵۰ کاربر همزمان را با عملکرد مناسب مدیریت میکند. ظرفیت واقعی به تعداد وبکمها، اشتراکگذاری صفحه و کیفیت ویدئو وابسته است. (bigbluebutton.github.io)
اگر میانگین را ۲۰۰ کاربر همزمان در نظر بگیریم:
10,000 ÷ 200
حدود 50 سرور
اما این حالت زمانی است که همه ۱۰ هزار نفر همزمان آنلاین باشند که در عمل بسیار نادر است.
سناریوی واقعیتر
در بیشتر آموزشگاهها حدود ۲۰ تا ۳۰ درصد کاربران به صورت همزمان آنلاین هستند.
مثلاً:
| تعداد کاربران ثبتشده | کاربران همزمان | تعداد سرور BBB |
|---|---|---|
| 10,000 | 2,000 | 10 الی 12 |
| 10,000 | 3,000 | 15 الی 16 |
| 10,000 | 5,000 | 25 الی 28 |
| 10,000 | 10,000 | حدود 50 |
به همین دلیل بسیاری از پروژهها به جای خرید ۵۰ سرور، زیرساخت را بر اساس حداکثر کاربران همزمان طراحی میکنند.
چه مدل سروری مناسب است؟
گزینه اقتصادی
HPE DL360 G9
- دو پردازنده Xeon E5-2680 v4
- 128GB RAM
- دو SSD Enterprise
- کارت شبکه 10Gb
مناسب برای:
- آموزشگاههای کوچک
- حداکثر حدود ۱۵۰ تا ۱۸۰ کاربر همزمان
گزینه محبوب
HPE DL380 G9
- دو Xeon E5-2697 v4
- 256GB RAM
- RAID Controller
- SSD Enterprise
- دو کارت 10Gb
مناسب برای:
- دانشگاهها
- مدارس
- آموزشگاههای بزرگ
گزینه حرفهای
HPE DL360 G10
- دو Xeon Gold 6154
- 256GB RAM
- NVMe Enterprise
- شبکه 25Gb
بهترین گزینه
HPE DL380 G10
- دو Xeon Gold
- 256 یا 384 گیگابایت RAM
- SSD Enterprise NVMe
- شبکه 25Gb
این مدل یکی از محبوبترین گزینهها برای پیادهسازی BigBlueButton در مقیاس سازمانی است، زیرا علاوه بر توان پردازشی بالا، فضای کافی برای توسعه آینده نیز فراهم میکند.
چه نوع هاردی استفاده کنیم؟
یکی از اشتباهات رایج، استفاده از هاردهای SATA معمولی است.
در BigBlueButton عملیات زیادی روی فایلهای موقت، ضبط کلاس و پردازش ویدئو انجام میشود؛ بنابراین سرعت دیسک اهمیت زیادی دارد.
| نوع هارد | مناسب |
|---|---|
| SATA HDD | ❌ |
| SAS 10K | قابل قبول |
| Enterprise SATA SSD | خوب |
| Enterprise SAS SSD | بسیار خوب |
| NVMe Enterprise | بهترین انتخاب |
اگر کلاسها ضبط نشوند
در این حالت فشار اصلی روی CPU و RAM خواهد بود.
نمونه مشخصات هر سرور:
| قطعه | مقدار پیشنهادی |
|---|---|
| CPU | دو پردازنده 20 هستهای |
| RAM | 256GB |
| Storage | دو SSD Enterprise در RAID1 |
| شبکه | 10Gb |
فضای ذخیرهسازی زیادی لازم نیست.
اگر کلاسها ضبط شوند
اینجا شرایط کاملاً تغییر میکند.
BigBlueButton علاوه بر برگزاری کلاس، باید:
- فایل صوتی
- ویدئو
- اسلاید
- اشتراک صفحه
- چت
- رویدادهای کلاس
را ذخیره و پس از پایان جلسه پردازش کند. پردازش ضبطها نیز پس از اتمام جلسه آغاز میشود و میتواند زمان قابلتوجهی مصرف کند. (BigBlueButton)
محاسبه فضای ذخیرهسازی
فرض کنیم:
- ۲۰۰ کلاس
- هر کلاس ۲ ساعت
- روزانه
اگر هر ساعت ضبط را به طور میانگین ۳۰۰ تا ۵۰۰ مگابایت در نظر بگیریم (بسته به کیفیت، تعداد وبکمها و محتوای اشتراکگذاری)، حجم روزانه به شکل زیر خواهد بود:
200 کلاس
×
2 ساعت
×
400MB
=
160GB در روز
یعنی:
| بازه | فضای موردنیاز |
|---|---|
| یک روز | 160GB |
| یک هفته | 1.1TB |
| یک ماه | حدود 5TB |
| شش ماه | حدود 30TB |
پیشنهاد ذخیرهسازی
برای سناریوی ضبط کلاسها:
| کاربرد | پیشنهاد |
|---|---|
| سیستم عامل | SSD Enterprise |
| فایلهای ضبط | RAID6 روی SAS SSD یا Storage مرکزی |
| آرشیو بلندمدت | NAS یا SAN |
پهنای باند موردنیاز
اگر هر کاربر به طور میانگین ۱ مگابیت بر ثانیه مصرف کند:
| کاربران همزمان | پهنای باند تقریبی |
|---|---|
| 500 | 500Mbps |
| 1000 | 1Gbps |
| 2000 | 2Gbps |
| 5000 | 5Gbps |
بنابراین برای مجموعهای با حدود ۲,۰۰۰ کاربر همزمان، اتصال اینترنت و شبکه داخلی حداقل ۲ تا ۳ گیگابیت بر ثانیه بهصورت متقارن پیشنهاد میشود تا در زمان اوج مصرف نیز کیفیت کلاسها حفظ شود. مستندات BigBlueButton نیز برای هر سرور تولیدی حداقل لینک متقارن 250Mbps را توصیه میکنند و بر باز بودن پورتهای رسانه WebRTC تأکید دارند. (docs.bigbluebutton.org)
جمعبندی پیشنهادی برای یک آموزشگاه بزرگ
| بخش | پیشنهاد |
|---|---|
| تعداد کاربران ثبتشده | 10,000 نفر |
| کاربران همزمان | حدود 2,000 نفر |
| تعداد سرور BBB | 10 تا 12 دستگاه |
| مدل سرور | HPE DL380 G10 یا DL360 G10 |
| پردازنده | Dual Intel Xeon Gold |
| حافظه | 256GB RAM |
| هارد سیستم | Enterprise SSD RAID1 |
| ذخیرهسازی ضبط | Storage مجزا با ظرفیت اولیه 20 تا 30 ترابایت |
| شبکه داخلی | 10GbE بین سرورها |
| اینترنت | حداقل 2 تا 3Gbps متقارن |
طراحی زیرساخت BigBlueButton برای یک مجموعه با ۱۰ هزار دانشآموز تنها به خرید یک سرور قدرتمند محدود نمیشود. عواملی مانند تعداد کاربران همزمان، استفاده از وبکم، اشتراکگذاری صفحه، نیاز به ضبط کلاسها و مدت زمان نگهداری فایلهای ضبطشده، همگی در انتخاب تعداد سرورها، نوع ذخیرهسازی و پهنای باند نقش اساسی دارند.
برای بسیاری از آموزشگاهها، ترکیبی از سرورهای HPE DL380 G10 یا DL360 G10 بهعنوان نودهای BigBlueButton، در کنار یک Storage Server اختصاصی برای ضبط کلاسها و یک Load Balancer، راهکاری مقیاسپذیر و اقتصادی محسوب میشود. این معماری امکان توسعه تدریجی زیرساخت را نیز فراهم میکند؛ بهگونهای که با افزایش تعداد دانشآموزان، تنها با افزودن چند سرور جدید بتوان ظرفیت سامانه را بدون ایجاد وقفه افزایش داد.















