Tutorial Optimasi MySQL Menggunakan MySQLTuner-perl

Bagi anda pengguna vps/dedicated server unmanage yang Mysql-nya sering mengalami “error establishing a database connection” atau error lain pada mysql yang disebabkan oleh penggunaan resource server mysql yang telalu besar, ada baiknya anda melakukan optimasi pada Mysql anda sebelum mengupgrade server ke yang lebih besar speknya. Optimasi mysql ini diibaratkan jika suatu kendaraan/mobil adalah service Tune Up (definisi Tune Up pada kendaraan adalah pekerjaan servis ringan mesin yang bertujuan untuk mendapatkan performa mesin yang maximal, dan juga menjaga agar mesin tetap dalam kondisi yang baik dan prima).

error mysql

Error establishing a database connection

Walaupun pekerjaan optimasi ini tidak menjamin bahwa server anda tidak mengalami error serupa lagi, paling tidak anda sudah melakukan hal sudah seharusnya anda lakukan sebelum mengupgrade server. Sukur-sukur setelah anda melakukan optimasi mysql, masalah error server anda  teratasi dan anda tidak perlu mengeluarkan biaya untuk upgrade server.

 

Untuk yang belum tahu, sejak lama sudah ada tool bernama MySQLTuner-perl yang dapat anda gunakan untuk optimasi mysql. MySQLTuner-perl adalah script yang ditulis menggunakan Perl, script ini sangat berguna untuk mengecek kondisi mysql dan dapat memberi saran mengenai setingan mysql saat ini dan apa yang perlu di tambah atau yang perlu dikurangi. MySQLTuner-perl ini di design untuk meningkatkan performance dan kesetabilan mysql.

 

Saat ini MySQLTuner-perl kompatible pada Mysql/MariaDB dengan versi berikut:
MySQL 3.23, 4.0, 4.1, 5.0, 5.1, 5.5, 5.6, 5.7
MariaDB 5.5, 10.0, 10.1

 

Anda bisa download scriptnya disini:
# wget http://mysqltuner.pl/ -O mysqltuner.pl atau https://github.com/major/MySQLTuner-perl/zipball/master

 

Cara penggunaannya sangat simple, cukup jalankan peritah berikut pada shell server anda (Harus menggunakan user root):
# perl mysqltuner.pl

 

Perhatikan hasil tes MySQLTuner-perl bagian “Recommendations” terdapat sub bagian General recommendations (rekomendasi secara umum) dan Variables to adjust (Variabel yang harus anda sesuaikan di mysql anda – setingannya di my.cnf)

 

——– Recommendations —————————————————————————
General recommendations:  –> Hasilnya beda-beda tiap server
MySQL started within last 24 hours – recommendations may be inaccurate
Reduce your overall MySQL memory footprint for system stability
Dedicate this server to your database for highest performance.
Configure your accounts with ip or subnets only, then update your configuration with skip-name-resolve=1
When making adjustments, make tmp_table_size/max_heap_table_size equal
Reduce your SELECT DISTINCT queries which have no LIMIT clause
Variables to adjust:   –> Hasilnya beda-beda tiap server
query_cache_limit (> 128K, or use smaller result sets)  –> Perbesar query_cache_limit, contoh: query_cache_limit = 256K
tmp_table_size (> 32M) –> pebersar tmp_table_size, contoh: tmp_table_size = 64M
max_heap_table_size (> 32M)  –> Perbesar max_heap_table_size, contoh: max_heap_table_size = 64M
innodb_buffer_pool_instances (=1)   –> Samakan dengan, contoh: innodb_buffer_pool_instances = 1

 

Tambahkan/ubah variable yang di sarankan  tersebut pada setingan my.cnf server anda (lokasi my.cnf defaultnya centos di /etc/my.cnf)

 

PERHATIAN:
Ini adalah “Warning” resmi dari mysqltuner untuk anda ketahui sebelum melakukan tunning mysql:
“It is extremely important for you to fully understand each change you make to a MySQL database server. If you don’t understand portions of the script’s output, or if you don’t understand the recommendations, you should consult a knowledgeable DBA or system administrator that you trust. Always test your changes on staging environments, and always keep in mind that improvements in one area can negatively affect MySQL in other areas.”

 

Artinya kurang lebih seperti ini (translate dari google translate):
“Hal ini sangat penting bagi Anda untuk memahami setiap perubahan yang Anda buat pada server database MySQL. Jika Anda tidak mengerti bagian dari output script, atau jika Anda tidak memahami rekomendasi, Anda harus berkonsultasi dengan DBA (Database Administration) yang mengetahui atau sistem administrator yang Anda percaya. selalu menguji perubahan pada server anda, dan selalu diingat bahwa perbaikan dalam satu area/variable dapat berdampak negatif atau mempengaruhi area/variable MySQL lain.”

 

Demikian informasi Optimasi Mysql menggunakan MySQLTuner-perl ini diperuntukan bagi siapa saja yang belum mengetahui, mohon maaf jika ada kesalahan penulisan. Terimakasih.

 

Referensi resmi: http://mysqltuner.com/

About the Author

Leave a Reply

Netid.co.id | IT Solution and Web Hosting Provider | Term Of Service | Facebook Page Support | Careers | Program Kerjasama