mysql smack_super-smack测试mysql性能
最近對MySql的性能要求越來越高了,所以也需要做相關的壓力仿真測試。
super-smack測試mysql性能
一.使用Red Hat Enterprise Linux Server release 5.4,x86_64位系統
二.環境安裝
1.所需軟件mysql5.1.38,super-smack1.3.tar.gz
2.解壓super-smack1.3.tar.gz,./configure --with-mysql=/data/mysql,config過程會出現找不到libmysqlclient.so文件,系統使用的64位lib庫文件,需要做個軟連接
#locate libmysqlclient.so
#ln -s /usr/lib64/libmysqlclient.so /usr/lib/
make過程中提示如下錯誤
query.cc:200: error: cast from 'char*' to 'unsigned int' loses precision
query.cc:200: error: cast from 'char*' to 'unsigned int' loses precision
query.cc:219: error: cast from 'char*' to 'unsigned int' loses precision
query.cc:219: error: cast from 'char*' to 'unsigned int' loses precision
修改super-smack-1.3/src目錄下的query.cc
把200和219行的
unsigned 改成
long
重新make && make install
三.使用super-smack
1.#./super-smack -d mysql select-key-mysql.smack 10 1000
提示錯誤信息如下:
Error running query select count(*) from http_auth:Table 'test.http_auth' doesn't exist
Creating table 'http_auth'
Populating data file '/var/smack-data/words.dat' with shell command 'gen-data -n 90000 -f -12s%n,%-25s,%n,%d'
sh: /var/smack-data/words.dat: No such file or directory
super-smack: Error generating data file errno = 2, error is No such file or directory
#編輯select-key.smack,如下
(1)把兩處mysql.sock路徑改成mysql安裝的實際路徑
(2)把兩處words.dat改成http_auth.dat
(3)把gen-data -n 90000 -f -12s%n,%-25s,%n,%d這行的逗號,換成空格即可(看網上朋友說把逗號換成空格不行,經本次測試可以使用空格)
(4)把delim ","; 逗號提換成空格
修改完畢,保存
2.super-smack
執行過程中,可以創建http_auth表,但不能自動把數據導入到庫中,原因不詳,手動把數據導入到http_auth.dat文件中
#mkdir -p /var/smack-data/
#cp super-smack-1.3/smacks/* /usr/local/bin/
#./gen-data -n 90000 -f -12s%n %-25s %n %d > /var/smack-data/http_auth.dat
3.執行,結果如下(myISAM表測試)
#./super-smack -d mysql smacks/select-key.smack 10 1000
Table 'http_auth' does not meet condtions, will be dropped
Creating table 'http_auth'
Loading data from file '/var/smack-data/http_auth.dat' into table 'http_auth'
Table http_auth is now ready for the test
Query Barrel Report for client smacker1
connect: max=5ms
min=1ms avg= 2ms from 10 clients
Query_type
num_queries
max_time
min_time
q_per_s
select_index
20000
0
0
14947.59
4.執行,結果如下(innodb表測試)
#.alter table http_auth engine=innodb;
#./super-smack -d mysql smacks/select-key.smack 10 1000
Query Barrel Report for client smacker1
connect: max=35ms
min=0ms avg= 14ms from 10 clients
Query_type
num_queries
max_time
min_time
q_per_s
select_index
20000
0
0
14760.01
注:1.-d指明是mysql數據庫測試,然后指明測試文件,10表示10個線程,1000表示每個線程有1000個查詢,q_per_s表示每秒鐘查詢記錄。
2.update-select.smack測試,和select-key.smack修改的地方一樣
總結
以上是生活随笔為你收集整理的mysql smack_super-smack测试mysql性能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 子宫内膜异位症症状用什么
- 下一篇: 怀柔有电影节,平谷有音乐节,延庆有啥?