日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MySQL壓力測(cè)試中定制sysbench的Lua模板

對(duì)于sysbench的定制,自己給自己定了一個(gè)小目標(biāo),但是實(shí)踐的時(shí)候發(fā)現(xiàn),難度比想象的要大很多。

十年的增城網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整增城建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“增城網(wǎng)站設(shè)計(jì)”,“增城網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

都說Lua很簡(jiǎn)單,性能很不錯(cuò),但是定制sysbench的模板的時(shí)候,越是深入去看,越覺得少了一些東西。

這個(gè)時(shí)候我想起了學(xué)習(xí)的周期和復(fù)雜度的一個(gè)說法,如果想快速學(xué)習(xí)一門技術(shù),一種方式是通過代碼來理解它的實(shí)現(xiàn),來反推它的邏輯,這種方式的難度極大,而我前幾天發(fā)現(xiàn)嘗試的就是這種,這種方式非??鄲?,但是如果能夠沉下心來,看代碼看到一種程度之后,有了感覺相信就會(huì)融會(huì)貫通了。

還有一種方式,算是捷徑,就是去聽聽作者怎么說,通過他的分享來從整體對(duì)一個(gè)項(xiàng)目有一個(gè)基本的認(rèn)識(shí)和了解,就好比你去拜訪一個(gè)朋友,他熱情的把你領(lǐng)進(jìn)門,帶著你走走客廳,走走臥室,給你介紹房子的裝修風(fēng)格,里面的家具和電器,為什么要這么設(shè)計(jì),很快你就能夠?qū)@一切熟悉起來。這種方式很好,而且最省事,但是可遇不可求。

對(duì)于sysbench的學(xué)習(xí)如果有這樣的方式也是極好的,所以我們就可以想辦法找找sysbench作者的心路歷程。自從0.5版本之后,有相當(dāng)長的一段時(shí)間就沒有深入維護(hù)了。

而從2016年開始,重啟了這個(gè)計(jì)劃。

所以sysbench是依舊是我們MySQL壓力測(cè)試的老朋友,這么多年,還依然是主流的測(cè)試工具,自有他流行的道理。

回到定制Lua模板的部分,如果我們反推Lua的邏輯,和sysbench聯(lián)系起來,我們可能要花上幾倍的代價(jià),不如聽聽sysbench作者怎么說。

壓力測(cè)試前,我們配置一下環(huán)境,創(chuàng)建一個(gè)用戶和數(shù)據(jù)庫。

 
 
 
  1. mysql> create user sysbench_test identified by 'mysql';
  2. Query OK, 0 rows affected (0.08 sec)
  3. mysql> create database sysbench_db character set utf8;
  4. Query OK, 1 row affected (0.08 sec)
  5. mysql> grant all on sysbench_db.* to sysbench_test@'%';
  6. Query OK, 0 rows affected (0.00 sec)

然后配置一個(gè)最簡(jiǎn)單的Lua模板,內(nèi)容如下:

 
 
 
  1. #!/usr/bin/env sysbench
  2. function event()
  3.   db_query(
  4. "SELECT 1"
  5. )
  6. end

運(yùn)行的時(shí)候,配置執(zhí)行權(quán)限,chmod +x test1.lua,然后執(zhí)行

 
 
 
  1. ./test1.lua  --mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535 --mysql-db=sysbench_db run

其中參數(shù)--mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535是為了連接,如果你是使用3306端口的默認(rèn)配置命令就更簡(jiǎn)單了,輸出如下:

此外我們還可以驗(yàn)證命令選項(xiàng)。我們推出第2個(gè)Lua模板 test2.lua

 
 
 
  1. sysbench.cmdline.options = {
  2.   tables = {"Number of tables", 1},
  3.   table_size = {"Number of rows per table", 10000},
  4.   create_secondary = {"Create a secondary key", true}
  5. }

如果命令選項(xiàng)不對(duì),會(huì)檢查出來。

 
 
 
  1. sysbench --tbales=8 test2.lua --mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535 --mysql-db=sysbench_db run
  2. invalid option: --tbales=8

如果沒有問題,則可以使用help來得到初始化后的選項(xiàng)值。

 
 
 
  1. #  sysbench test2.lua help
  2. sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)
  3. test2.lua options:
  4.   --table_size=N              Number of rows per table [10000]
  5.   --tables=N                  Number of tables [1]
  6.   --create_secondary[=on|off] Create a secondary key [on]

接下來就是重點(diǎn)了,關(guān)于SQL API的定制,其實(shí)是有規(guī)則可循的。

我們來看看第3個(gè)Lua模板,test3.lua

 
 
 
  1. function thread_init()
  2.   drv = sysbench.sql.driver()
  3.   con = drv:connect()
  4. end
  1. function event()
  2.   con:query("SELECT 1"
  3. )
  4. end
  1. function thread_done()
  2.   con:disconnect()
  3. end

使用命令即可完成測(cè)試。

 
 
 
  1. sysbench  test3.lua --mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535 --mysql-db=sysbench_db run

后續(xù)繼續(xù)補(bǔ)充更多的Lua模板。


網(wǎng)頁標(biāo)題:MySQL壓力測(cè)試中定制sysbench的Lua模板
新聞來源:http://m.5511xx.com/article/cdpdpeo.html