Pada kesempatan kali ini kita akan membahas seputar MySQL tuning. Tips ini sangat penting mengingat load MySQL yang kadang sewaktu-waktu dapat memakan server resources berlebih.
Terkadang, sebagian kalangan lupa akan hal ini. Penting kiranya memperhatikan load MySQL agar tidak terlalu memakan server resources. Jika tiba-tiba Anda merasa load MySQL database tinggi, maka sebaiknya lakukan tips berikut ini.
Langkah Awal: Download dan Install mysqltuner.pl
mysqltuner.pl merupakan script yang memungkinkan Anda mengetahui variabel-variabel mana saja yang perlu disesuaikan pada MySQL, sehingga dapat menjadi acuan Anda dalam menyesuaikan agar MySQL dapat berjalan optimal dan berdampak pada kinerja server yang lebih baik.
Download & Install mysqltuner.pl
- Login ke server via SSH.
- Download mysqltuner.pl
cd /usr/local/bin
wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
- Berikan izin:
chmod +x mysqltuner.pl
- Lalu jalankan mysqltuner.pl
/usr/local/bin/mysqltuner.pl
Ketahui Rekomendasinya
Setelah Anda menjalankan mysqltuner.pl tersebut, script akan memaparkan hasil investigasinya terhadap proses MySQL. Sebagai contoh, Anda dapat melihat contoh hasil scanning mysqltuner.pl berikut ini.
1.1. Contoh Hasil Scanning mysqltuner.pl.
Baca & Lakukan
Pada rekomendasi di atas, terdapat beberapa saran di antaranya meminta untuk mengoptimasi database, dan seterusnya.
Langkah Optimasi
Pada dasarnya optimasi yang kita lakukan untuk database kita tergantung dari server resources yang kita miliki masing-masing. Jadi, kami berharap agar Anda dapat menyesuaikan dengan konteks resources Anda sendiri.
Tentunya optimasi dilakukan dengan pertimbangan hasil dari menjalankan script mysqltuner.pl di atas.
Tuning Awal
- Edit file my.cnf:
pico /etc/my.cnf
- Tambahkan code berikut sebagai langkah awal tuning:
query_cache_size = 16M
query_cache_limit = 8M
tmp_table_size = 16M
max_heap_table_size = 16M
thread_cache_size = 4
- Restart MySQL:
service mysql restart
Untuk hasil terbaik, sebaiknya lakukan scanning mysqltuner.pl setelah 24 jam. Semakin lama database running, semakin banyak pertimbangan yang mungkin diberikan. Walaupun tidak 24 jam pun sebenarnya bisa, hanya saja belum teruji saja apabila running baru dilakukan/baru saja Anda restart.
Optimize Table
- Jika saran mengatakan Run OPTIMIZE TABLE to defragment tables for better performance. Maka jalankan command berikut ini untuk mengoptimalkannya.
mysqlcheck -u root --auto-repair --optimize --all-databases
- Lalu restart MySQL:
service mysql restart
Enable The Show Query Log
- Buka pico /etc/my.cnf dan tambahkan code berikut ini:
log-slow-queries=/var/lib/mysql/slow.log
- Ctrl+o (Write Out), lalu save dengan ENTER.
Itulah beberapa tips server optimization kali ini seputar MySQL tuning. Bila ada kendala, hal yang ingin ditanyakan, silakan sampaikan di komentar. Semoga bermanfaat.
Info yang sangat baik. Bagaimana cara menentukan startserver yang tepat di apache?