用mysqlslap壓測自定義sql

czxin788發表於2020-12-10

 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章