MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Meningkatkan Kinerja dengan Menggunakan Pemisahan Baca Tulis dari Lalu Lintas Basis Data dengan Moodle 3.9

Moodle adalah Sistem Manajemen Pembelajaran yang sangat terkenal yang dimaksudkan untuk membantu organisasi pendidikan mengatur aktivitas pembelajaran online mereka. Seperti yang dapat Anda bayangkan, mengingat pergeseran online pada tahun 2020 yang disebabkan oleh COVID-19, sistem seperti itu menjadi sangat populer dan beban yang harus ditangani sistem tersebut telah meningkat secara signifikan. Banyak administrator bertanya-tanya bagaimana meningkatkan kinerja database yang mendukung instalasi Moodle. Untungnya, jika Anda menjalankan Moodle 3.9 atau lebih baru, Anda memiliki beberapa opsi bawaan yang dapat membantu Anda meningkatkan kinerja. Dalam posting blog ini kami akan menunjukkan cara melakukannya.

Pertama-tama, kami berasumsi bahwa Anda memiliki instalasi Moodle dengan satu node database. Mari kita lihat langkah-langkah yang mungkin ingin Anda ambil untuk meningkatkan kinerja database Moodle Anda. Tentu saja, semua langkah yang kami jelaskan di sini dapat dilakukan dengan tangan. Kami akan menggunakan ClusterControl untuk itu karena kami menghargai waktu kami.

Dengan asumsi Anda telah menginstal ClusterControl, langkah pertama adalah mengimpor node database yang ada.

Konektivitas SSH menggunakan kunci tanpa kata sandi harus ada. Kami telah menyiapkannya sebagai pengguna root dengan kunci SSH yang terletak di /root/.ssh/id_rsa.

Sebagai langkah selanjutnya kita mendefinisikan pengguna super dan kata sandinya. Kami juga mengaktifkan kueri information_schema (seperti yang kami ketahui bahwa kami tidak memiliki puluhan ribu tabel) dan kedua opsi pemulihan otomatis sehingga ClusterControl dapat memulihkan database kami jika diperlukan.

Setelah beberapa saat, database kami muncul di daftar cluster:

Sekarang, kita dapat mulai memperluas cluster dengan menambahkan lebih banyak slave. Kita harus memastikan bahwa master memiliki log biner yang diaktifkan. Jika tidak, itu bisa dilakukan dari ClusterControl. Harap diingat bahwa mengaktifkan log biner memerlukan restart sehingga Anda mungkin ingin melakukannya pada saat beban paling rendah dan, idealnya, memberikan beberapa petunjuk kepada pengguna platform Moodle Anda.

Kami melewati IP (atau nama host) dari simpul yang ingin kami gunakan sebagai budak. ClusterControl akan menyediakannya dengan data dari node master kita. Kami juga dapat menggunakan cadangan untuk menyediakan budak, tetapi kami belum mengambil cadangan apa pun menggunakan ClusterControl sejauh ini.

Instalasi akan memakan waktu beberapa menit, kita dapat mengikuti perkembangannya dengan melihat di log pekerjaan di ClusterControl.

Menambahkan budak ke sistem kami tidak ada bedanya. Kita harus memberitahu Moodle untuk benar-benar mulai menggunakannya. Untungnya, Moodle memiliki fitur yang memungkinkan Anda mengonfigurasi node slave dan kemudian penulisan "aman" akan dialihkan ke node tersebut, mengurangi beban pada master dan meningkatkan kinerja secara keseluruhan.

Dalam file konfigurasi (config-dist.php) Anda dapat melihat bagian 'hanya-baca' dari larik 'dboptions'. Di tempat itu Anda dapat menentukan satu atau lebih node budak yang akan digunakan oleh Moodle untuk mengirim lalu lintas ke.

  'readonly' => [          // Set to read-only slave details, to get safe reads

                            // from there instead of the master node. Optional.

                            // Currently supported by pgsql and mysqli variety classes.

                            // If not supported silently ignored.

     'instance' => [        // Readonly slave connection parameters

       [

         'dbhost' => '10.0.0.132',

         'dbport' => '',    // Defaults to master port

         'dbuser' => '',    // Defaults to master user

         'dbpass' => '',    // Defaults to master password

       ],

       [...],

     ],

Seperti yang Anda lihat, kami dapat menambahkan lebih dari satu slave host, memungkinkan kami untuk menyebarkan pembacaan aman di beberapa node yang dapat Anda sediakan dengan mudah dari ClusterControl dan mengurangi beban pada cluster.

Jika Anda tertarik dengan penyiapan basis data yang lebih canggih dan tersedia untuk Moodle, kami memiliki beberapa posting blog tentang topik ini yang menjelaskan, antara lain, bagaimana Anda dapat memanfaatkan Moodle dengan Galera Cluster sebagai backend. Kami juga menjelaskan teknik penskalaan yang lebih canggih untuk Moodle, yang melibatkan penyeimbangan beban ProxySQL.

Beri tahu kami pemikiran dan pengalaman Anda tentang bekerja dengan Moodle.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB LENGTHB() Dijelaskan

  2. LANTAI MariaDB() vs TRUNCATE()

  3. Atur Set Karakter dan Susunan Tabel di MariaDB

  4. Bagaimana STRCMP() Bekerja di MariaDB

  5. Enkripsi MariaDB Penuh Saat Istirahat dan Dalam Perjalanan untuk Perlindungan Data Maksimum - Bagian Kedua