用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为分隔


请使用浏览器的分享功能分享到微信等