مقیاس پذیری مودل

  • توسط mohamadaliakbari
  • اکتبر 25, 2019
  • 0

مودل (Moodle) معروف‌ترین نرم افزار متن باز در حوزه آموزش مجازی است. این پلتفرم به زبان PHP توسعه داده شده و اولین نسخه آن در سال 2002 منتشر شده است.

توجه: این سند برای ارائه به یکی از بانک‌های طرف قرارداد با شرکت ایتوک تهیه شده است. بانک مورد نظر قصد دارد آزمونی برای بیش از 10 هزار کاربر به صورت همزمان در سطح کشور، اجرا کند.

راه اندازی مودل

برای راه اندازی یک نسخه عملیاتی از مودل در ساده ترین شکل خود، به سخت افزار، سیستم عامل، وب سرور، مفسر PHP و یک پایگاه داده پشتیبانی شده نیاز دارید.

سخت افزار

مشخصات سخت افزار مورد استفاده به میزان کاربری که قرار است از سیستم استفاده کنند، وابسته است.

وب سرور

برای وب سرور گزینه‌هایی نظیر Nginx, Apache, Litespeed و … وجود دارد. وب سرور وظیفه رساندن درخواست‌های HTTP به مفسر و برگرداندن پاسخ آن به کاربر را بر عهده دارد.

مفسر PHP

مودل با زبان برنامه نویسی PHP توسعه داده شده است. درخواست‌ها توسط PHP اجرا شده و پاسخ آماده می‌شود.

پایگاه داده

PostgreSQL, MariaDB, MySQL و MSSQL انواع پایگاه داده پشتیبانی شده توسط مودل هستند. پایگاه اینترنتی مودل دو گزینه PostgreSQL و MariaDB را پیشنهاد داده است.

مکانیزم Cache

هرچند استفاده از Cache در یک نصب ساده الزامی نیست، با توجه به سادگی پیکربندی آن بهتر است انجام شود.

مقیاس پذیری مودل

نصب ساده مودل زمانی که پیکربندی سرور به درستی انجام شده باشد و از سخت افزار متناسبی استفاده شده باشد، می‌تواند نیاز کسب و کارهای بزرگ (آموزشگاه‌ها، دانشگاه‌ها و سازمان‌ها) را نیز پاسخگو باشد. در این صورت برای افزایش پایداری سیستم کافی است تهیه نسخه پشتیبان و نیروی انسانی متخصص، وجود داشته باشند.

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

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

توزیع سخته افزاری

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

توزیع وب سرور

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

در صورتی که شبکه، دیسک یا دیگر منابع سخت افزار، به عنوان گلوگاه تشخیص داده شوند، یا هدف افزایش پایداری سیستم باشد، توزیع وب سرور لازم است.

مراحل پیکربندی توزیع وب سرور در Server cluster توضیخ داده شده است.

توزیع پایگاه داده

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

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

راه کارهای توزیع پایگاه داده

برای پخش کردن بار روی چند پایگاه داده می‌توان از روش‌های خوشه بندی استفاده کرد. MariaDB Galera Cluster یکی از روش‌های توصیه شده برای مودل است.

مراحل پیکربندی توزیع پایگاه داده در Clustering Moodle on Multiple Servers for High Availability and Scalability توضیح داده شده است.

مطالعه موردی

4 هزار کاربر همزمان

اجرای آزمون برای 4 هزار کاربر همزمان با اپلکیشن و پایگاه داده روی دو سرور با مشخصات زیر، با موفقیت اجرا شد.

CPU: 2 x Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
RAM: 256G 2400
SSD: 256G (RAID10)

6 هزار کاربر همزمان

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

DL380 G10
CPU: 2×6150
RAM: 640G (20x32G) 2666
SSD: 960GB 883 Enterprise Samsung (RAID1)

پایگاه داده با پیکربندی 2+1 و با استفاده از Docker روی سرور فوق بعلاوه سرور دیگری با مشخصات زیر راه اندازی می‌شود.

بنابراین سیستم با 2 نصب از اپلیکشین و یک خوشه پایگاه داده که دارای 2 گره اطلاعات است، اجرا خواهد شد. برای افزایش اطمینان امکان استفاده از سرور سومی به عنوان load balance و manager کلاستر پایگاه داده وجود دارد.

CPU: 2 x Intel(R) Xeon(R) CPU E5-2620 v2 @ 2.10GHz
RAM: 256G 2400
SSD: 256G (RAID10)

  • تست استرس روی سرور عملیاتی قبل از آزمون ارائه خواهد شد.
  • نسخه و تنظیمات نرم افزارهای استفاده شده از جمله OS + nginx + php + mariadb با سازمان مربوطه هماهنگ و تایید گرفته خواهد شد.
  • پیکربندی سخت افزار و نرم افزار به صورت بیان شده با کارشناسان سازمان بررسی و تایید گرفته خواهد شد.
قبلی «
بعدی »

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اخبار