Optimalisasi Server Elearning (LMS) Part 1

Skema Umum

elearning-server

Secara umum untuk ukuran Kampus yang telah memiliki infrastruktur memadai dan telah aktif digunakan sejak lama maka Infrastruktur Elearning dapat terdiri dari Jaringan dengan beberapa Mesin Server (bisa berupa VM ataupun dedicated Server/Hardware) diantaranya:

  1. Web Server merupakan komponen utama Sistem Elearning, yang menyediakan aplikasi berbasis Web diakses menggunakan protocol HTTP/HTTPS.
  2. NAS (Network Access Storage), bagi kampus berukuran relatif besar umumnya data elearning seperti Materi Presentasi/Tugas Tugas/Video dll dialokasikan pada media storage ini, dan diakses menggunakan NFS dari Webserver Elearning.
  3. DB Server, merupakan server khusus yang menyediakan DBMS sebagai backend Aplikasi Elearning seperti MySQL/MariaDB, PostgreSQL, MSSQL, Oracle dst.
  4. Auth Server, merupakan server khusus yang melayani Otentikasi para pengguna. Secara umum kampus kampus besar menggunakan sistem Akun Single Identity/SSO untuk layanan Elearning, sehingga akun Elearning menggunakan akun yang sama dengan akun layanan akademik/sistem lainnya. Misalnya menggunakan SSO application, Radius Server, LDAP atau Active Directory.

Pada lembaga/organisasi akademik yang skala kecil seperti Sekolah/Kampus, tidak semua komponen diatas selalu tersedia. Untuk ukuran sekolah umumnya hanya komponen 1 dan 3 saja dan digabung dalam satu mesin (web dan db pada mesin yang sama). Sedangkan beberapa Kampus mungkin dapat menyediakan no.1 dan no.3 secara terpisah dengan otentikasi lokal system pada DB Elearning.

Bagaimana mengoptimalkan sistem elearning agar memiliki kehandalan dan mampu melayani para pengguna yang jumlahnya cukup banyak aktif secara bersamaan (concurrent access). Misalnya diakses hingga ribuan bahkan puluhan ribu user secara aktif bersamaan. Tentunya membutuhkan tips dan trick untuk dapat memenuhi layanan tersebut jika harus menggunakan infrastruktur sendiri (misalnya memanfaatkan Datacenter Kampus/Sekolah).

Dari pengalaman menjadi SysAdmin dan NetAdmin sejak 18 tahun lalu terdapat beberapa point penting dan hal yang perlu diperhatikan dalam kehandalan sebuah sistem elearning diantaranya sebagai berikut :

Ketersediaan Bandwitdh Internet

Bandwitdh Internet salah satu yang utama harus di kalkulasikan berdasarkan kenyamanan akses sebuah sistem informasi seperti LMS/Elearning berbasis Moodle.

Tabel Kebutuhan Bandwidth

Target user concurrent

Target user concurent adalah jumlah user yang melakukan akses ke sistem elearning secara aktif bersamaan, berbeda dengan jumlah user yang terdaftar pada sebuah sistem elearning. Perlu aktif monitoring untuk melihat jumlah user concurrent akses.

Ukuran kebutuhan besar bandwitdh diatas tersebut bukan suatu keharusan, tetapi dapat dijadikan rujukan kenyamanan ber-elearning dengan konten yang sudah bervariasi mulai multimedia, quiz online dan dokumen presentasi/tugas dst. Ketersediaan bandwitdh yang terbatas (belum memenuhi kriteria diatas) tetap masih dapat diakses dengan baik, tetapi tentu akan mengurangi kenyamanan terutama dalam kecepatan akses terhadap konten yang dibutuhkan.

Analisis dan Optimasi

Analisis dan Optimasi (tuning dan konfigurasi) pada Spesifikasi Mesin Server e-LearningTeknologi Virtualisasi memungkinkan spesifikasi mesin server elearning menjadi fleksibel, dapat di resize sesuai kebutuhan. Idealnya mesin Elearning terdiri dari minimal 2 mesin secara umum, yakni sebagai Web Server dan DB Server. Kedua mesin ini memiliki tugas spesifik masing masing. Web Server difokuskan melayani berbagai jenis pengguna untuk akses kontent berbasis HTTP/HTTPS, sedangkan DB Server bertindak sebagai backend database (DBMS) yang melayani secara spesifik aplikasi yang ada di Web Server.

Karena fokus kedua mesin berbeda, tentu saja konfigurasi dan tuning kedua mesin juga akan berbeda. Dengan mesin Web Server dan DB Server yang terpisah, maka dimungkinkan untuk meningkatkan performance kedua mesin lebih optimal. Sangat berbeda halnya jika WebServer dan DB Server masih dalam mesin/OS yang sama. Jika ternyata sistem elearning baik Web Server maupun DB menggunakan mesin yang sama (dalam 1 mesin/OS), maka optimalisasi/tuning yang akan dilakukan menjadi kurang maximal.

Setiap elearning masing masing lembaga/kampus nanti akan memiliki kriteria utilitas yang unik masing masing, ada yang data kontennya yang lebih banyak disimpan di DB, ada juga dokumen konten yang disimpan di webserver/NAS yang lebih banyak atau aktif diakses, tergantung pemanfaatan oleh masing masing user (Pengajar/Dosen atau Peserta/Mahasiswa). Sehingga tuning yang dibutuhkan juga akan berbeda. Kebutuhan penyesuaian spesifikasi mesin seperti Core/CPU dan Memory nanti akan lebih menyesuaikan pemanfaatan ini. Jika ternyata konten dokumen elearning spt PPT/Video/Tugas lebih banyak, maka lebih direkomendasikan memanfaatkan NAS Server untuk Storage Data Moodle tersebut.Berdasarkan pengalaman melakukan tuning/optimasi server

Elearning berbasis LMS Moodle, antara kebutuhan mesin Web Server dan DB Server, mesin DB Server relatif memiliki kebutuhan spesifikasi mesin yang lebih besar khususnya Memory, ini terutama jika konten data/ukuran Database yang telah digunakan sudah cukup besar, sehingga pemanfaatan memory akan cukup besar mengikuti ukuran DB dan jumlah query/request/pengguna.

Analisis dan optimasi (tuning dan konfigurasi) pada Sistem Operasi Server e-Learning (DB dan Web Server). Pada Sistem Operasi Server berbasis linux, terdapat utility sysctl memungkinan user untuk melakukan tuning kernel tanpa harus melakukan building ulang (rebuilding) kernel. Konfigurasi dengan Sysctl juga dapat langsung di apply/implementasikan secara langsung, bahkan tanpa harus melakukan reboot server. Secara umum optimasi Web Server melalui Kernel Options dengan Sysctl Utility. Dengan menambahkan file/configuration berikut dapat meningkatkan performance dan keamanan.Pada Linux Redhat/CentOS bisa dialokasikan pada path/file berikut:$cat /etc/sysctl.d/01-webserver-optimize.conf

elearning-1

Sedangkan untuk DBMS/Database Server dapat menambahkan konfigurasi kernel option dengan sysctl sebagai berikut:
Pada Linux Redhat/CentOS bisa dialokasikan pada file berikut:
$cat /etc/sysctl.d/01-database-optimize.conf

optimalisasi-2

Sedangkan pada sistem operasi Linux Ubuntu, dapat menambahkan baris baris pada konfigurasi tersebut pada /etc/sysctl.conf Setelah mengimplementasikan secara langsung dapat mengeksekusi dengan perintah:

# sudo sysctl -p

atau dengan merestart services sysctld

# service systemd-sysctl restart

(To Be Continue, Part 2)

Sumber

Add Comment