Saya memberikan presentasi dalam beberapa minggu. Bagian dari demo ini adalah untuk pemecahan masalah mysql dasar termasuk penggunaan log kueri lambat. Saya telah membuat database dan menginstal aplikasi kami tetapi ini adalah database yang bersih dan karenanya sulit untuk menghasilkan masalah yang cukup.
Saya sudah mencoba yang berikut ini untuk mendapatkan kueri di log kueri lambat:
Setel waktu kueri lambat ke 1 detik.
Beberapa indeks terhapus.
Menekan sistem:
stress --cpu 100 --io 100 --vm 2 --vm-bytes 128M --timeout 1m
Membuat skrip beberapa panggilan halaman web dasar menggunakan wget.
Tidak satu pun dari ini yang menghasilkan permintaan lambat. Apakah ada cara lain untuk secara buatan menekankan database untuk menghasilkan masalah? Saya tidak memiliki cukup keterampilan untuk menulis Jmeter kompleks atau generator beban lainnya. Saya berharap mungkin untuk sesuatu yang tertanam dalam mysql atau trik linux lain di luar tekanan.
sumber
Jawaban:
Lihat mysqlslap . Anda dapat melewati salah satu kueri aplikasi web Anda dengan --query dan menentukan klien bersamaan dengan --concurrency.
sumber
Benar-benar buatan tetapi Anda dapat menggunakan
sleep()
fungsinya:Dalam log:
sumber
LOCK TABLES
akan berhasil. Itu mungkin terlalu kotor juga.DO SLEEP(10);
jika Anda tidak ingin hasil SLEEP dalam kueri Anda.Mungkin menghapus pengaturan basis data mungkin membantu? Misalnya mengurangi ukuran key_buffers?
sumber