首页 > 数据库 > MySQL > 用mysqlslap压测自定义sql
1、自定义sql语句
mysqlslap -uroot -p'xxxxxx' --iterations=100 --create-schema=allin_platform --concurrency=24,32,64 --number-of-queries=100 --query='SELECT * FROM customer_trends WHERE 1 = 1 AND (customer_id in ( 1408175318214)) AND (customer_id = 1408175318214) AND (is_valid not in ( -1)) AND trend_type in (1, 2, 7) AND (college_course_state = 0) GROUP BY resource_id ORDER BY op_date desc LIMIT 0, 10;'
--concurrency=N, -c N 表示并发量,也就是模拟多少个客户端同时执行select。可指定多个值,以逗号或者--delimiter参数指定的值做为分隔符。例如:--concurrency=100,200,500;
--iterations=N, -i N 测试执行的迭代次数,代表要在不同并发环境下,各自运行测试多少次。
--create-schema 代表自定义的测试库名称,测试的schema,MySQL中schema也就是database。
--number-of-queries=N 总的测试查询次数(并发客户数×每客户查询次数),并发客户数由concurrency指定
2、自定义sql语句文件(重放sql,可以抓取线上库的sql然后再测试库使用如下方式重放)
mysqlslap -utest -pxxx -h 10.0.2.103 -P 4005 --iterations=1 --concurrency=24,32,64 --number-of-queries=1 --create-schema='test' --query=/root/select.sql
--query=/root/root_shell/test.sql ### 自定义查询语句,默认一行一条sql并且以\n为分隔
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28916011/viewspace-2741079/,如需转载,请注明出处,否则将追究法律责任。