一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Lua - 用sysbench來測試MySQL的性能的教程

用sysbench來測試MySQL的性能的教程

2020-04-26 10:42腳本之家 Lua

這篇文章主要介紹了用sysbench來測試MySQL的性能的教程,使用Lua腳本操作,需要的朋友可以參考下

鑒于最近對OpenStack的興趣和激情,我想要確保我可以做恰當的系統性能評估。我主要開始轉向sysbench,是因為它帶來一系列豐富的針對不同層面的測試(通過 -test=option 來獲知) ,包括有:

  •     fileio - 文件 I/O測試
  •     cpu - CPU系能測試
  •     memory - 內存功能速度測試
  •     threads - 線程子系統系能測試
  •     mutex - 互斥性能測試

正如你所看到的的,sysbench將讓你的心思著重放在你的硬件和基礎架構的許多基礎組件上,例如你的磁盤子系統,以及你的CPUs和內存。有一個額外的選項,是用來執行對MySQL的模擬壓力測試,并且當我在0.5版本中沒有看到以上的所提到的可支持測試項時候,我很驚訝,盡管它可以用來顯示“聯機事務處理 – 聯機事務處理測試”。-test=oltp到底怎么回事??
 

這個列表來自于sysbench最近的發布版本0.5——如果你僅僅是在這個版本上使用它,使用 Frederic Descamps(感謝lefred!)所提供的 包。如果你用的(系統)是EPEL,Ubuntu 14.04 或者 Debian 7,就可以使用0.4.12版本(檢查sysbench的版本 -version)。那么,測試類型OLTP再也不會出現。這個版本做了什么呢?我使勁撓頭,直到我詢問Percona IRC才知道在0.5版本里的標準OLTP測試類型被替換成了不一樣的語法,它使用傳遞參數到sysbench,替換掉了引用腳本寫入lua的方式。它的優點是,現在你有了一個接口,可以寫入你特定的負載測試中(提供你了解的lua(接口),用起來也不難)。如果你還想要運行預定義負載測試,它們還是存在的,但是你必須把它們作為RPM的一部分去安裝,或者直接拷貝到你的系統。

幸運的是,如果你使用lefred提供的包,你會發現下面這些lua腳本(這里使用了截止至2014年8月4號的Amazon ami):

復制代碼 代碼如下:
[root@pxc-control ~]# ls -l /usr/share/doc/sysbench/tests/db/
total 44
-rw-r--r-- 1 root root 3585 Sep 7 2012 common.lua
-rw-r--r-- 1 root root 340 Sep 7 2012 delete.lua
-rw-r--r-- 1 root root 830 Sep 7 2012 insert.lua
-rw-r--r-- 1 root root 2925 Sep 7 2012 oltp.lua
-rw-r--r-- 1 root root 342 Sep 7 2012 oltp_simple.lua
-rw-r--r-- 1 root root 425 Sep 7 2012 parallel_prepare.lua
-rw-r--r-- 1 root root 343 Sep 7 2012 select.lua
-rw-r--r-- 1 root root 3964 Sep 7 2012 select_random_points.lua
-rw-r--r-- 1 root root 4066 Sep 7 2012 select_random_ranges.lua
-rw-r--r-- 1 root root 343 Sep 7 2012 update_index.lua
-rw-r--r-- 1 root root 552 Sep 7 2012 update_non_index.lua

 

 

所以訣竅(如果你希望這么叫它)不是通過單一詞語傳遞--test指令,而是通過傳遞一個lua腳本的完整路徑。

下面首先是舊的方式(sysbench 0.4.12來自EPEL庫):
 

復制代碼 代碼如下:
--test=oltp --oltp-test-mode=complex

 

下面是新的方式(sysbench 0.5):
 

復制代碼 代碼如下:
--test=/usr/share/doc/sysbench/tests/db/insert.lua

 

下面是我在一個3個節點的PXC集群上跑haproxy,做一個僅插入的測試類型,下面是我傳遞給sysbench的全部命令:
 

復制代碼 代碼如下:

[root@pxc-control ~]# cat sys_haproxy.sh
#!/bin/bash
sysbench
--test=/usr/share/doc/sysbench/tests/db/insert.lua
--mysql-host=pxc-control
--mysql-port=9999
--mysql-user=sysbench-haproxy
--mysql-password=sysbench-haproxy
--mysql-db=sbtest
--mysql-table-type=innodb
--oltp-test-mode=complex
--oltp-read-only=off
--oltp-reconnect=on
--oltp-table-size=1000000
--max-requests=100000000
--num-threads=3
--report-interval=1
--report-checkpoints=10
--tx-rate=24
$1

 

下面是insert.lua腳本的內容:

 

復制代碼 代碼如下:
[root@pxc-control ~]# cat /usr/share/doc/sysbench/tests/db/insert.lua
pathtest = string.match(test, "(.*/)") or ""
dofile(pathtest .. "common.lua")
function thread_init(thread_id)
   set_vars()
end
function event(thread_id)
   local table_name
   local i
   local c_val
   local k_val
   local pad_val
   table_name = "sbtest".. sb_rand_uniform(1, oltp_tables_count)
   if (oltp_auto_inc) then
      i = 0
   else
      i = sb_rand_uniq(1, oltp_table_size)
   end
   k_val = sb_rand(1, oltp_table_size)
   c_val = sb_rand_str([[
###########-###########-###########-###########-###########-###########-###########-###########-###########-###########]])
   pad_val = sb_rand_str([[
###########-###########-###########-###########-###########]])
   rs = db_query("INSERT INTO " .. table_name ..  " (id, k, c, pad) VALUES " .. string.format("(%d, %d, '%s', '%s')",i, k_val, c_val, pad_val))
end

 

 

我比較喜歡sysbench 0.5的一個地方(超過lua 接口,肯定的!)是它現在帶來一個配置項 –report-interval option(我通常都是設置為 =1),以便在腳本運行時你可以定時看到輸出信息。不要等到運行結束是再得到反饋!這里有個用sysbench 0.5的測試樣例,通過本地hapoxy實例運行插入數據動作以及向在同一個PXC(Percona XtrDB Cluster)集群上的三個節點寫數據動作,例如OpenStack Trove會做:
 

復制代碼 代碼如下:

[root@pxc-control ~]# ./sys_haproxy.sh run
sysbench 0.5:  multi-threaded system evaluation benchmark
Running the test with following options:
Number of threads: 3
Report intermediate results every 1 second(s)
Random number generator seed is 0 and will be ignored
Threads started!
[   1s] threads: 3, tps: 0.00, reads/s: 0.00, writes/s: 1099.28, response time: 9.86ms (95%)
[   2s] threads: 3, tps: 0.00, reads/s: 0.00, writes/s: 973.02, response time: 10.77ms (95%)
[   3s] threads: 3, tps: 0.00, reads/s: 0.00, writes/s: 1181.01, response time: 6.23ms (95%)
[   4s] threads: 3, tps: 0.00, reads/s: 0.00, writes/s: 1103.00, response time: 6.77ms (95%)

 

我也想讓你注意到來自Nilnandan Joshi博客的文章,Nilnandan Joshi是來自Percona支持團隊,在這篇文章中他介紹了在Debian 7上編譯構建sysbench 0.5的一種方法。在這里非常感謝Nil的貢獻!

我希望這篇文章可以幫組那些想要升級到sysbench 0.5的同志,并且能質疑(探討)-test=oltp去哪兒了。我很樂意看到你自己的關于sysbench用戶案列,并且是否有其他人發布過他們自己的用于負載測試的lua腳本!

延伸 · 閱讀

精彩推薦
  • LuaLua中計算、執行字符串中Lua代碼的方法

    Lua中計算、執行字符串中Lua代碼的方法

    這篇文章主要介紹了Lua中計算、執行字符串中Lua代碼的方法,類似JavaScript中eval函數的功能,在Lua中也可以實現,需要的朋友可以參考下 ...

    腳本之家6322020-04-30
  • LuaLua中的元方法__newindex詳解

    Lua中的元方法__newindex詳解

    這篇文章主要介紹了Lua中的元方法__newindex詳解,本文講解了查詢與更新、監控賦值、通過table給另一個table賦值等內容,需要的朋友可以參考下 ...

    笨木頭8872020-04-09
  • LuaLua教程(二):基礎知識、類型與值介紹

    Lua教程(二):基礎知識、類型與值介紹

    這篇文章主要介紹了Lua教程(二):基礎知識、類型與值介紹,本文講解了Hello World程序、代碼規范、全局變量、類型與值等內容,需要的朋友可以參考下 ...

    腳本之家5922020-04-28
  • LuaLua實現__add方法重載示例

    Lua實現__add方法重載示例

    這篇文章主要介紹了Lua實現__add方法重載示例,本文直接給出實現代碼,需要的朋友可以參考下 ...

    腳本之家7452020-04-24
  • LuaLua簡介、編譯安裝教程及變量等語法介紹

    Lua簡介、編譯安裝教程及變量等語法介紹

    這篇文章主要介紹了Lua簡介、編譯安裝教程及變量等語法介紹,本文同時講解了lua注釋語法、Lua命令行方式等內容,需要的朋友可以參考下 ...

    junjie3632020-04-14
  • Lua深入探究Lua中的解析表達式

    深入探究Lua中的解析表達式

    這篇文章主要介紹了深入探究Lua中的解析表達式,對于其語法部分的說明和示例都超詳細,極力推薦此文!需要的朋友可以參考下 ...

    腳本之家3542020-05-05
  • LuaLua中table庫函數方法介紹

    Lua中table庫函數方法介紹

    這篇文章主要介紹了Lua中table庫函數方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下 ...

    腳本之家2502020-04-17
  • LuaLua和C語言的交互詳解

    Lua和C語言的交互詳解

    這篇文章主要介紹了Lua和C語言的交互詳解,Lua和C語言通過棧完成交互,本文結合代碼實例詳細講解了交互的方法,需要的朋友可以參考下 ...

    果凍想3702020-04-14
主站蜘蛛池模板: 精品国产香蕉 | 公妇乱淫 | 日本护士xxxx视频免费 | 欧美日韩一二三区免费视频观看 | 国产高清视频免费最新在线 | 日韩一级片在线免费观看 | 国产精品国产三级在线专区 | 久久精品国产亚洲AV蜜臀 | 久久亚洲电影www电影网 | 国产日韩欧美在线观看不卡 | 精新精新国产自在现拍 | 午夜福利电影网站鲁片大全 | 国内精品一区二区三区东京 | 午夜福利理论片在线播放 | 99久久精品免费看国产 | 3d动漫美女被吸乳羞羞有 | 91理论片午午伦夜理片久久 | 国产成人精品高清在线 | 欧美午夜网站 | 国产精品毛片va一区二区三区 | 国产自在自拍 | 午夜影院在线免费观看 | 国产成人影院在线观看 | 色老板在线视频观看 | 欧美日韩综合网在线观看 | 热99在线观看 | 四虎精品永久在线网址 | 久青草国产在视频在线观看 | 香蕉精品国产高清自在自线 | 日本精a在线观看 | 日本一在线中文字幕天堂 | 亚洲精品www久久久久久久软件 | 曹逼网站 | 亚洲午夜精品久久久久久成年 | 关晓彤被调教出奶水 | 免费高清视频在线观看 | 国产区香蕉精品系列在线观看不卡 | 九九九九在线精品免费视频 | α片免费| 久久re视频精品538在线 | 免费国产成人α片 |