测试前准备:
1)smack 文件是放在 /usr/share/smacks/目录下:select-key.smack和update-select.smack需要修改2个文件中和数据库相关地方2处需要修改:
client "admin"
{
user "test";//数据库用户名
host "127.0.0.1";//数据库IP
db "test";//数据库
pass "123456";//数据库密码
socket "/tmp/mysql.sock"; // mysql.sock的放置位置
// ignored for PostgreSQL
}
注:super-smack 文件里面有两个客户端,一个是 client "admin",还有一个是 client "smacker1"
2)执行测试语句
./gen-data -n 9000 -f %12-12s%n,%25-25s,%n,%d > /tmp/data/words.dat
如果安装的时候没有设置 super-smack 的安装路径,又在默认的安装位置没有找到 gen-data文件,可以用
find / -type f -name 'gen-data'
为什么要 生成 words.dat 文件,这就要看看接下来要执行的语句了
super-smack -d mysql /usr/share/smacks/select-key.smack 2 5
参数解析:-d 数据库类型, -D 原始数据目录,2表示2个线程,每个线程 5个查询
在文件select-key.smack里面需要调用 words.dat 数据文件
执行报错
super-smack: aborting because of a database error: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
如果报这个错误,是因为select-key.samck里面的配置文件的问题,我直接给 /var/lib/mysql/mysql.sock 添加一个 软链接
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
再次执行 super-smack -d mysql /usr/share/smacks/select-key.smack 2 5
输出的结果较为简略,只包含了查询的次数,最大耗时,最小耗时,每秒执行的查询,会按照查询类型进行分类计数之后输出