mysqldumpslow
Waduh, akhir2 ini dapet telpon terus kalau aplikasi berjalan lambat, beberapa proses bahkan terbilang sangat lambat.
Untung sudah dipasang slow query log jadi ada data untuk dianalisa, ga cuma berdasarkan laporan user saja.
Kalau ada yang belum tau, caranya tinggal selipkan 2 baris ini di /etc/my.cnf
long_query_time = 4
log-slow-queries = /var/lib/mysql/slow_queries.log
contoh diatas, artinya kalau ada query yang diproses lebih dari 4 detik maka akan dicatat di file /var/lib/mysql/slow_queries.log
Karena yang tercatat file tersebut sudah terlanjur banyak, daripada cape2 ngeliat dari awal
saya potong dulu slow_queries.log berdasarkan tanggal keluhan.
# tail -n 100 slow_queries.log > slow_query_200803.txt
Untuk mempermudah analisa saya gunakan mysqdumpslow untuk mencari queri mana yang paling banyak butuh waktu serta berapa kali kejadiannya
# mysqldumpslow slow_query_200803.txt -s=t
Ketahuan deh penyebabnya,
sekarang lagi pusing cari solusinya
Cara yang terbaik adalah menghilangkan penyebabnya.
Aplikasi tersebut harus di update agar query-nya tidak boros resource
Tapi cara tersebut cukup sulit dilakukan karena aplikasi sudah cukup besar
dan rolenya memang mengharuskannya melakukan query tersebut.
Kasih index, sudah dilakukan tapi kan harus bijak ngasih index-nya.
Rencananya akan dilakukan archiving
Ada yang pernah menghadapi hal yang sama dan punya solusi lain ?
ref:
http://www.digipedia.pl/man/mysqldumpslow.1.html
No comments
Jump to comment form | comments rss [?] | trackback uri [?]