中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL壓測工具mydbtest怎么用

發布時間:2021-11-06 09:44:07 來源:億速云 閱讀:164 作者:小新 欄目:MySQL數據庫

小編給大家分享一下MySQL壓測工具mydbtest怎么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

一 前言
本文介紹一款綠色免安裝版本的數據庫壓測利器--mydbtest(mydbtest_linux64.bin.該壓測軟件區別于sysbench ,tpcc 等常見壓測工具軟件,免安裝,上手快,而且可以針對業務sql做定制化壓測。
二 如何使用
2.1 隨機數據生成器 
  我們在配置文件中指定隨機數據的類型,取值范圍 比如a int 10 30000 ,隨機生成從10-30000的整數,注意 a 必須是where 條件中使用的值,比如where id=:a:,語法

  1. varname VARTYPE minimum maximum

該工具支持7種類型

  1. sequence 序列

  2. int    : i_value int min  max

  3. char   : c_value   char     min_length  max_length 

  4. float  : f_value   float     min  max

  5. double : d_value  double  min  max

  6. date   : create_time  date -10  10  會產生十天之前和十天之后的隨機時間,格式如:2016-04-01

  7. timestamp : 用法和date 一樣,其格式為 YYYY-MM-DD HH24:MI:SS

 該軟件支持在同一個配置文件中使用多種字段類型。
 2.2 配置文件
 配置文件的格式如下
 option
   name yangyi_20160331 
   user username/password@hostname:port:database
   loop N 循環次數
   log   生成結果的log文件,可以使用 %p 來為每個壓測進程指定一個log文件
   wait N 每次循環執行完之后(并不是每個sql執行的間隔) 等待多久微妙。默認值是0。
   show N 每個多少秒顯示壓測的響應時間 默認是60s 
   tran [yes] 事務型,如果該參數設置為yes ,則 begin 里面的 sql 都會在同一個事務中執行
   commit [N] 每隔多少次loop 執行一次commit命令。如果配置了大量的測試數據,建議將該值設置的大一點。需要注意的是 commit參數只有在 tran 設置為yes 的時候 起作用。
   time  Specify how duration to be executed for the SQL statements, default value is
         3600 seconds, you can specify “d1” for one day, “h2” for on hour, “m1” for one minute, and “s60” for 60 seconds.
 declare  
   #隨機數
   varname1 int 10 100000
   varname2 char 1 30
   [.......]
 begin
   ##可以配置select ,insert,update,delete 語句,也可以配置 使用 {} 包含的數據庫語句,每個語句必須使用分號“;”隔開。
   INSERT INTO <table name> (…) VALUES (:varname1, :varname2,…);
   SELECT * FROM <table name>   WHERE … > :varname1; 
    { begin 
       update t_kc_center set col2=col2 – 1 where col1 = :id;
       update t_kc_center set col2=col2 + 1 where col1 = :id + 1; 
       end; 
    }
 end

一個具體的例子:
test.cnf
#該配置文件表示 連接到數據庫,執行2000次查詢.
option
 name mysql_test
 loop 2000
 user yang/yang@127.0.0.1:3308:test 
declare
 a int 10 30000
begin
 select * from t_mytest where col1 = :a;
end 
三 具體使用 
root@rac3:~# >./mydbtest_linux64.bin   --help
MYDBTEST: MySQL Database Test Utility , Release 1.0.1
(@) Copyright Lou Fangxin (AnySQL.net) 2012 - 2013, all rights reserved.
Usage: mysqldbtest keyword=value [keyword=value [...]]
Valid Keywords:
   user    = username/password@tnsname for source and target.
   query   = test case file.
   degree  = parallel degree for multiple threads test
root@rac3:~# >./mydbtest_linux64.bin query=test.cnf  degree=1
MYDBTEST: MySQL Database Test Utility , Release 1.0.1
(@) Copyright Lou Fangxin (AnySQL.net) 2012 - 2013, all rights reserved.
2016-03-25 14:08:27 ======================== mysql_test ========================
2016-03-25 14:08:27 SQL01  exe=2000 fail=0 row=1105 ela=231 ms avg=115 us
2016-03-25 14:08:27 SQL01    1 ms  exec=    1996, ela=       225 ms, avg=     113 us, pct= 99, 99
2016-03-25 14:08:27 SQL01    2 ms  exec=       3, ela=         3 ms, avg=    1031 us, pct=  0, 99
2016-03-25 14:08:27 SQL01    3 ms  exec=       1, ela=         2 ms, avg=    2481 us, pct=  0,100
2016-03-25 14:08:27 Total  tran=2000=8333/s, qtps=2000=8333/s, ela=233 ms, avg=116 us
Summary: SQL01 exec=2000, rows=1105=55/e, avg=115 us
Summary: exec=2000/s, qtps=2000/s

壓測的時候,如果覺得這樣的報告不符合要求,可以配合 orzdba 來查看數據庫的qps tps,并選取數據繪制成圖表。

看完了這篇文章,相信你對“MySQL壓測工具mydbtest怎么用”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

中方县| 张掖市| 岗巴县| 永泰县| 武城县| 陵川县| 盈江县| 平邑县| 左权县| 美姑县| 阜宁县| 米林县| 抚宁县| 驻马店市| 白朗县| 界首市| 扶风县| 吴江市| 桐梓县| 科尔| 乾安县| 阳江市| 台中县| 嘉鱼县| 江孜县| 三都| 武功县| 博罗县| 洛南县| 麟游县| 竹溪县| 婺源县| 巴彦县| 阿合奇县| 祥云县| 遂昌县| 临澧县| 环江| 嵊州市| 且末县| 将乐县|