Peringatan
Karena masalah dengan skala dan kasus sudut lainnya, cache kueri MySQL / Mariadb tidak lagi direkomendasikan. Kami sangat menyarankan untuk memastikan caching ditangani di aplikasi sebagai gantinya.
Ikhtisar
Di sebagian besar sistem Linux, instans database MySQL yang diinstal secara default sering dikonfigurasi ke berbagai parameter yang aman untuk memastikan operasi yang stabil. Pengaturan caching kueri biasanya tidak diaktifkan atau disetel dengan sangat konservatif. Sebagai hasil dari konservatisme ini, akses database menggunakan sedikit memori sistem untuk menyimpan pertanyaan berulang. Dengan mengaktifkan cache dan menyesuaikannya dengan kebutuhan aplikasi, peningkatan dapat terlihat jelas di sebagian besar aplikasi terutama Magento eCommerce Stores.
Untuk pengujian awal, ukuran cache 32M diputuskan sebagai titik awal. Sebelum perubahan apa pun, parameter cache database terletak di /etc/my.cnf dikonfigurasi sebagai:
query_cache_limit 1M query_cache_size 0 query_cache_type ON
Mengubah parameter
Untuk membuat perubahan apa pun, file /etc/my.cnf telah diedit untuk menyertakan parameter berikut dan database dimulai ulang. Setelah perubahan database melaporkan sebagai berikut:
query_cache_limit 2M query_cache_size 32M query_cache_type ON
Pengujian
Untuk menguji perubahan kami, kami awalnya menginstal toko eCommerce Magento dengan database produk demo default diinstal. Kami mengatur waktu pengambilan setiap produk menggunakan pengepungan. Dengan meningkatkan ukuran cache pada database, 200 md selanjutnya mengurangi waktu respons situs. Perubahan sederhana ini akan menunjukkan bahwa mungkin ada lebih banyak ruang untuk perbaikan dalam parameter dan tata letak sub-sistem basis data untuk mengoptimalkannya secara khusus untuk penggunaan Magento, perhatikan bahwa pengoptimalan untuk Magento bisa menjadi tugas yang rumit!
Jebakan!
Skrip MySQLTuner yang populer (seperti yang dirinci dalam panduan Penyesuaian dan Pengoptimalan Kinerja MySQL kami) dijalankan dan menunjukkan bahwa mengubah jumlah utas akan bermanfaat, namun perubahan ini mengakibatkan kinerja turun dengan 290 md!
Kesimpulan
Di luar kotak, konfigurasi database MySQL bagus tetapi bisa jauh lebih baik. Meningkatkan cache memberikan respons yang menguntungkan secara instan. Selain peningkatan kinerja database, ada juga berbagai teknologi cache seperti Memecached dan Redis yang akan meningkatkan kinerja dengan menyimpan data yang sering direferensikan.