Mysql压力测试shell脚本_MySQL
bitsCN.com
Mysql压力测试shell脚本
Mysql自带了压力测试工具mysqlslap,所以我们可以不用自己编写程序来测试Mysql读取的压力。压力测试shell脚本如下: www.bitsCN.com
[plain]
#!/bin/sh
while true
do
mysqlslap --concurrency=100 --iterations=10 --create-schema='test' --query="insert into test(c1,c2,c3,c4) values(1,1,1,'a')" --number-of-queries=200 --debug-info -uroot -p123456
usleep 100
done
上面脚本的意思是每隔100ms循环做这样的事:模拟100个mysql客户端,对数据库test的表test执行200次插入(number-of-queries = concurrency * 每个mysql客户端的查询次数,所以这里的每个mysql客户端的查询次数是2次),迭代10次。--debug-info是打印内存和CPU的相关信息。
接着我们可以编写shell脚本来输出指定时间间隔(比如1秒)内的mysql操作次数,shell脚本如下:
[plain]
#!/bin/sh
lastTimes="0"
while true
do
currentTimes=$(mysql -uroot -p'123456' -e "show global status like 'Com_insert'" | sed '1d' | awk '{print $2}')
times=$(expr ${currentTimes} - ${lastTimes})
lastTimes="${currentTimes}"
echo "${times}"
sleep 1
done
查看mysql各种操作的次数,可以通过查看global status里的'Com_'开头的变量,它们就是mysql的操作命令,比如Com_insert就是插入命令、Com_update就是更新命令,等等,具体可以查看文档说明。将相邻两次的次数相减,就得到这个时间间隔内执行的次数。
PS:除了iostat等命令外,也可以通过top命令来查看io的负载(看wait的百分比,如果大于等于 1 / cpu核数,则说明硬盘IO有问题)。请参考英文文章:Understanding Disk I/O - when should you be worried?
来源 http://blog.csdn.net/skyman_2001
bitsCN.com
Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cara menggunakan Docker untuk ujian prestasi dan ujian tekanan kontena memerlukan contoh kod khusus Pengenalan Peningkatan teknologi virtualisasi kontena telah menjadikan penggunaan dan pengendalian aplikasi lebih fleksibel dan cekap, dan salah satu alat yang paling popular ialah Docker. Sebagai platform kontena yang ringan, Docker menyediakan cara yang mudah untuk membungkus, mengedar dan menjalankan aplikasi, tetapi bagaimana untuk menguji dan menilai prestasi kontena, terutamanya ujian tekanan di bawah keadaan beban tinggi, Ia adalah persoalan yang ramai orang bimbang. Artikel ini akan memperkenalkan

Tajuk: Langkah dan teknik untuk menggunakan pengaturcaraan Golang pada Mac Dalam bidang pembangunan perisian semasa, Golang (juga dikenali sebagai Go), sebagai bahasa pengaturcaraan yang cekap, ringkas dan sangat bersesuaian, telah menarik perhatian lebih ramai pembangun . Apabila memprogramkan Golang pada platform Mac, anda boleh menggunakan beberapa alat dan teknik untuk meningkatkan kecekapan pembangunan. Artikel ini akan memperkenalkan langkah dan teknik menggunakan pengaturcaraan Golang pada Mac dan menyediakan contoh kod khusus untuk membantu pembaca memahami dan menggunakan dengan lebih baik. Langkah 1: Pasang Gol

Gunakan PHP untuk menulis program untuk menyambung ke Baidu Cloud Disk API Baidu Cloud Disk ialah perkhidmatan storan awan yang berkuasa Melalui API, banyak operasi automatik boleh direalisasikan, seperti memuat naik fail, memuat turun fail, mencipta folder, dsb. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menulis program untuk menyambung ke API Cakera Awan Baidu dan memberikan contoh kod yang sepadan. Dapatkan akaun pembangun dan APIKey Baidu Cloud Sebelum menggunakan Baidu Cloud API, kami perlu memohon akaun pembangun dan mendapatkan APIKey yang sepadan. Boleh log masuk ke Baidu

Linux ialah sistem pengendalian sumber terbuka yang menyediakan banyak alat ujian rangkaian dan ujian tekanan, jadi Linux ialah pilihan yang sangat baik apabila menjalankan ujian rangkaian dan ujian tekanan. Dalam artikel ini, kami akan membincangkan cara menggunakan Linux untuk ujian rangkaian dan ujian tekanan. 1. Ujian rangkaian Ujian rangkaian ialah proses menguji prestasi rangkaian, yang biasanya merangkumi ujian berikut: Ujian lebar jalur Apabila melakukan ujian lebar jalur rangkaian, kita perlu mengukur kelajuan penghantaran data dalam rangkaian. Salah satu alat yang biasa digunakan ialah iperf, yang boleh didapati di Linux

Ujian tekanan perisian ialah aktiviti jaminan kualiti asas yang merupakan sebahagian daripada setiap usaha ujian perisian yang penting. Oleh itu, ujian tekanan adalah sangat penting, jadi bagaimana untuk menjalankan ujian tekanan? Dalam artikel ini, saya akan berkongsi dengan anda alat ujian tekanan yang sangat praktikal - alat ab (bangku apache saya harap ia akan membantu anda!

PHP ialah bahasa skrip yang digunakan secara meluas dalam pembangunan web Ia digunakan untuk membangunkan banyak laman web dan aplikasi berskala besar. Pengoptimuman prestasi dan ujian tekanan adalah sangat kritikal semasa pembangunan aplikasi PHP, kerana ini akan membantu anda memastikan bahawa aplikasi boleh menahan bebanan trafik pengguna yang tinggi semasa operasi sebenar tanpa masalah prestasi atau masalah sistem. Artikel ini terutamanya memperkenalkan beberapa alat ujian tekanan biasa yang digunakan dalam PHP. ApacheBenchApacheBench(ab) ialah asas

Bagaimana untuk menggunakan MTR untuk ujian tekanan pangkalan data MySQL? Gambaran Keseluruhan: MySQLTestRun (MTR) ialah alat ujian yang disediakan secara rasmi oleh MySQL untuk menguji kefungsian dan prestasi pangkalan data MySQL. Selain ujian fungsian, MTR juga boleh digunakan untuk ujian tekanan pangkalan data. Artikel ini akan memperkenalkan cara menggunakan MTR untuk ujian tekanan pangkalan data MySQL dan menyediakan beberapa contoh kod. Langkah 1: Pasang MTR Mula-mula, kita perlu memasang alat MTR. MTR terdapat dalam kod sumber MySQL

Kaedah split() kelas String. Pisahkan rentetan semasa kepada padanan ungkapan biasa yang diberikan. Tatasusunan yang dikembalikan oleh kaedah ini mengandungi setiap subrentetan rentetan ini yang ditamatkan oleh subrentetan lain yang sepadan dengan ungkapan yang diberikan atau ditamatkan pada penghujung rentetan. Kaedah replaceAll() kelas String menerima dua rentetan yang mewakili ungkapan biasa dan rentetan gantian dan menggantikan nilai yang sepadan dengan rentetan yang diberikan. Gantikan semua aksara dalam fail kecuali perkataan tertentu dengan "#" (sehala) - baca kandungan fail ke dalam rentetan. Buat objek StringBuffer kosong. Gunakan kaedah split() untuk memecah rentetan yang diperoleh ke dalam tatasusunan String. habis semua
