您好,登錄后才能下訂單哦!
本篇內容介紹了“MySQL壓力測試中如何定制sysbench的Lua模板”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
壓力測試前,我們配置一下環境,創建一個用戶和數據庫。
mysql> create user sysbench_test identified by 'mysql';
Query OK, 0 rows affected (0.08 sec)
mysql> create database sysbench_db character set utf8;
Query OK, 1 row affected (0.08 sec)
mysql> grant all on sysbench_db.* to sysbench_test@'%';
Query OK, 0 rows affected (0.00 sec)
然后配置一個最簡單的Lua模板,內容如下:
#!/usr/bin/env sysbench
function event()
db_query(
"SELECT 1"
)
end
運行的時候,配置執行權限,chmod +x test1.lua,然后執行
./test1.lua --mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535 --mysql-db=sysbench_db run
其中參數--mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535是為了連接,如果你是使用3306端口的默認配置命令就更簡單了,輸出如下:
此外我們還可以驗證命令選項。我們推出第2個Lua模板 test2.lua
sysbench.cmdline.options = {
tables = {"Number of tables", 1},
table_size = {"Number of rows per table", 10000},
create_secondary = {"Create a secondary key", true}
}
如果命令選項不對,會檢查出來。
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
invalid option: --tbales=8
如果沒有問題,則可以使用help來得到初始化后的選項值。
# sysbench test2.lua help
sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)
test2.lua options:
--table_size=N Number of rows per table [10000]
--tables=N Number of tables [1]
--create_secondary[=on|off] Create a secondary key [on]
接下來就是重點了,關于SQL API的定制,其實是有規則可循的。
我們來看看第3個Lua模板,test3.lua
function thread_init()
drv = sysbench.sql.driver()
con = drv:connect()
end
function event()
con:query("SELECT 1"
)
end
function thread_done()
con:disconnect()
end
使用命令即可完成測試。
sysbench test3.lua --mysql-user=sysbench_test --mysql-password=mysql --mysql-host=127.0.0.1 --mysql-port=65535 --mysql-db=sysbench_db run
“MySQL壓力測試中如何定制sysbench的Lua模板”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。