日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

mysql sysbench_MySQL sysbench基准测试

發(fā)布時(shí)間:2024/3/26 数据库 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql sysbench_MySQL sysbench基准测试 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、基準(zhǔn)測(cè)試

參考《高性能 MySQL》第二章。

二、Sysbench

sysbench 是開源的跨平臺(tái)多線程基準(zhǔn)測(cè)試工具,主要用于測(cè)試各種不同系統(tǒng)參數(shù)下的 CPU/內(nèi)存/線程/IO/數(shù)據(jù)庫(kù)等方面的性能,數(shù)據(jù)庫(kù)目前支持 MySQL/Oracle/PostgreSQL。具體的參數(shù)設(shè)置,應(yīng)根據(jù)實(shí)際環(huán)境來(lái)進(jìn)行必要調(diào)整。

與之前版本相比,sysbench 最新的 0.5 版本,可以使用腳本來(lái)決定測(cè)試語(yǔ)句,比之前在代碼里寫死測(cè)試更加方便用戶修改和使用,不需要去修改源程序,只需要修改相應(yīng)的 lua 腳本,即可定制不同的測(cè)試用例,在數(shù)據(jù)庫(kù)負(fù)載測(cè)試中,這樣可以對(duì) SQL 語(yǔ)句進(jìn)行更有針對(duì)性的測(cè)試。

1、下載安裝

Linu 自帶版本大多為 0.4.12,最新版本可以從 Launchpad 下載安裝步驟如下:

./autogen.sh

./configure

make && sudo make install

sysbench 依賴 mysql-dev 包的支持,如果 mysql 沒有安裝在默認(rèn)位置,執(zhí)行./configure 時(shí)需要配置–with-mysql-includes 和 –with-mysql-lib。具體參看源碼包中 README 文檔。

安裝完成后可以查看版本信息。

sysbench --version

2、使用說(shuō)明

簡(jiǎn)要說(shuō)明 sysbench 的使用方法,側(cè)重對(duì)數(shù)據(jù)庫(kù)的測(cè)試。具體用法參考 sysbench –help。

2.1 命令格式:

Sysbench [general-options]… –test= [test-options]… command

通用選項(xiàng)(general-options):

–num-threads=N 指定要使用的線程

–report-interval=N 每隔 N 秒打印統(tǒng)計(jì)信息

–rand-XXX 隨機(jī)分布相關(guān)配置

內(nèi)建測(cè)試項(xiàng)目(test-option):

fileio – File I/O test

cpu – CPU performance test

memory – Memory functions speed test

threads – Threads subsystem performance test

mutex – Mutex performance test

oltp,從 0.5 開始不再設(shè)置單獨(dú)的選項(xiàng),可以直接通過(guò) Lua 腳本文件進(jìn)行測(cè)試,兼容之前 oltp 的所有選項(xiàng)。

以上所有的項(xiàng)目都可以通過(guò) sysbench-0.5\sysbench\tests\ 下的測(cè)試腳本進(jìn)行測(cè)試。

2.2 測(cè)試項(xiàng)目選項(xiàng)(test-option)

各種內(nèi)建測(cè)試項(xiàng)目的選項(xiàng)可以通過(guò)命令 sysbench –test=help 查看。

2.3 命令(command):

sysbench 做壓力測(cè)試的時(shí)候分 3 個(gè)階段:prepare(準(zhǔn)備測(cè)試數(shù)據(jù)); run(運(yùn)行壓力測(cè)試); cleanup(清理測(cè)試數(shù)據(jù))。

3、內(nèi)建測(cè)試說(shuō)明

3.1 CPU

sysbench 采用尋找最大素?cái)?shù)的方式來(lái)測(cè)試 CPU 的性能。

sysbench --test=cpu --cpu-max-prime=1000 run

3.2 Fileio

Sysbench 的 I/O 測(cè)試和 InnoDB 的 I/O 模式非常類似。

sysbench --test=fileio –file_num=40 –-file-total-size=80G --file-test-mode=rndrw prepare

sysbench --test=fileio –file_num=40 –-file-total-size=80G --file-test-mode=rndrw run

sysbench --test=fileio –file_num=40 –-file-total-size=80G --file-test-mode=rndrw cleanup

3.3 Memory

待完善

3.4 Threads

待完善

3.5 Mutex

待完善

3.6 OLTP

Sysbench 0.5 中的 oltp.lua 提供了一個(gè)比之前版本中的 oltp 模式更為真實(shí)的場(chǎng)景來(lái)進(jìn)行數(shù)據(jù)庫(kù)的基準(zhǔn)測(cè)試。和之前 oltp 模式中的單個(gè)表場(chǎng)景相比,0.5 通過(guò) Lua 腳本可以對(duì)多個(gè)表進(jìn)行工作測(cè)試。oltp.lua 可以理解原先 oltp 模式中的大多數(shù)選項(xiàng)。

所有的測(cè)試腳本位于/sysbench-0.5/sysbench/test/下,db 目錄下是數(shù)據(jù)庫(kù)測(cè)試項(xiàng)目,其中 common.lua 并非測(cè)試文件,是用于 prepare 和 cleanup。 oltp.lua 文件用于測(cè)試事務(wù)性能,其中 thread_init 函數(shù)來(lái)初始化每個(gè)線程的參數(shù),初始化工作調(diào)用了 common.lua 中的 set_vars()函數(shù),來(lái)初始化 oltp 的相關(guān)參數(shù)。

階段 1: 連接數(shù)據(jù)庫(kù)服務(wù)器

每次執(zhí)行基準(zhǔn)測(cè)試,不管是 prepare 還是 run,如果不是使用默認(rèn)值的話,都應(yīng)該指定如何連接數(shù)據(jù)庫(kù)。默認(rèn)值如下:

默認(rèn)的數(shù)據(jù)庫(kù) sbtest,sysbench 不會(huì)自動(dòng)創(chuàng)建該數(shù)據(jù)庫(kù)。所以如果你要用過(guò)的話要首先。

階段 2:Prepare

如果使用默認(rèn)值,首先要?jiǎng)?chuàng)建測(cè)試所用的表。創(chuàng)建方式有兩種: oltp.lua (串行) 和 parallel_prepare.lua (并行)。

針對(duì) database driver 還需要指明以下參數(shù):

創(chuàng)建表:

oltp.lua 中提供的 –oltp-tables-count 指明了表的數(shù)量。默認(rèn)的表名是 sbtest。如果制定了 oltp-tables-count,則在表名后加數(shù)字,例如 sbtest1, sbtest2, .. sbtest[oltp-tables-count],注意,此種情況下不會(huì)創(chuàng)建 sbtest 表。

通過(guò)選項(xiàng) –oltp-secondary 可以在每個(gè)表上使用第二索引來(lái)替代主鍵。也就是說(shuō)通過(guò) KEY xid (ID) 而不是 PRIMARY KEY (ID) 來(lái)創(chuàng)建表。這個(gè)選項(xiàng)將會(huì)使 InnoDB 為每個(gè)表創(chuàng)建內(nèi)部 6-byte 的索引。同樣可以使用選項(xiàng) –oltp-auto-in 將 id 字段設(shè)為遞增。

創(chuàng)建表 SQL 語(yǔ)句示例如下:

CREATE TABLE `sbtest101` (

`id` int(10) unsigned NOT NULL auto_increment,

`k` int(10) unsigned NOT NULL default '0',

`c` char(120) NOT NULL default '',

`pad` char(60) NOT NULL default '',

PRIMARY KEY (`id`),

KEY `k` (`k`));

Parallel.lua(并行) 創(chuàng)建:

./sysbench --test=tests/db/parallel_prepare.lua --mysql-user=USER --mysql-password=SECRET --oltp-tables-count=64 --num-threads=8 run

注意:oltp-tables-count 應(yīng)該是 num-threads 的整數(shù)倍。

oltp.lua(串行)創(chuàng)建:

./sysbench --test=tests/db/oltp.lua --mysql-user=USER --mysql-password=SECRET --mysql-table-engine=myisam --oltp-table-size=1000000 --oltp-tables-count=64 --mysql-socket=/tmp/mysql.sock prepare

階段 3:Run

準(zhǔn)備好測(cè)試環(huán)境之后就可以使用 oltp.lua 執(zhí)行一系列的測(cè)試了,測(cè)試使用的線程數(shù)量通過(guò)選項(xiàng) –num-threads 來(lái)指定。每個(gè)線程通過(guò)隨機(jī)產(chǎn)生小于或者等于 oltp-tables-count 的數(shù)字來(lái)選擇一個(gè)表。

隨機(jī)取樣分布通過(guò)選項(xiàng) –oltp-dist-type 來(lái)進(jìn)行設(shè)置,該選項(xiàng)默認(rèn)值是 special。Special 分布還和另外兩個(gè)參數(shù)有關(guān):–oltp-dist-pct,用來(lái)指定要特殊對(duì)待的記錄的百分比,–oltp-dist-res 指定這些記錄的概率。例如,對(duì) 1000 行記錄進(jìn)行 1000 次查詢,–oltp-dist-pct=1 and –oltp-dist-res=50 結(jié)果,開始 10 條記錄(1% of 1000),每條記錄選中五十次,總共 500 次,剩余的查詢將會(huì)從 990 條記錄中均勻采樣。

選中表之后,就會(huì)執(zhí)行相應(yīng)的測(cè)試。他們將會(huì)打包為一個(gè)事務(wù)(transaction)傳遞給數(shù)據(jù)庫(kù)服務(wù)器(除非使用 myisam 引擎,這樣先會(huì)鎖住表)。也可以單線程運(yùn)行 oltp 的子集,例如 oltp_simple.lua, select.lua, insert.lua, delete.lua, update_index.lua, update_non_index.lua

SELECT tests

Select 還可以分為點(diǎn)選擇測(cè)試(Point Select tests)和范圍測(cè)試(Ranges tests)。

點(diǎn)測(cè)試

選項(xiàng) oltp-point-selects 單次事務(wù)中點(diǎn)選擇測(cè)試的查詢次數(shù)。 每次測(cè)試,通過(guò)制定的分布來(lái)隨機(jī)產(chǎn)生一個(gè)小于或者等于表大小(oltp-table-size)的數(shù)字,然后執(zhí)行下面的查詢語(yǔ)句。 SELECT c FROM sbtestXXX WHERE id=N

范圍測(cè)試

通過(guò)變量 oltp-range-size 可以制定要查詢的范圍(不大于表大小)

簡(jiǎn)單范圍測(cè)試

選項(xiàng) oltp-simple-ranges 單次事務(wù)中范圍選擇測(cè)試的查詢次數(shù)。 每次通過(guò)指定的分布來(lái)產(chǎn)生一個(gè)不大于 oltp-talbe-size 的整數(shù) N,然后通過(guò)選項(xiàng)設(shè)置 oltp-range-size 設(shè)置整數(shù) M,然后執(zhí)行如下查詢: SELECT c FROM sbtest WHERE id BETWEEN N AND M

范圍求和(Sum in ranges)

選項(xiàng) oltp_sum_ranges 單次事務(wù)中范圍選擇測(cè)試的查詢次數(shù)。查詢語(yǔ)句: SELECT SUM(K) FROM sbtest WHERE id BETWEEN N and M

范圍排序(Order in ranges)

選項(xiàng) oltp_order_ranges 單次事務(wù)中范圍選擇測(cè)試的查詢次數(shù)。查詢語(yǔ)句: SELECT c FROM sbtest WHERE id between N and M ORDER BY c

范圍去重(Distincts in ranges)

選項(xiàng) oltp-distinct-ranges 單次事務(wù)中范圍選擇測(cè)試的查詢次數(shù)。查詢語(yǔ)句:

SELECT DISTINCT c FROM sbtest WHERE id BETWEEN N and M ORDER BY c

UPDATE tests

只要沒有指定 oltp-read-only=on 就能進(jìn)行更新測(cè)試。

1、index_update.lua

選項(xiàng) oltp_index_updates 單次事務(wù)中范圍選擇測(cè)試的查詢次數(shù)。查詢語(yǔ)句:

UPDATE sbtest SET k=k+1 WHERE id=N

2、non_index_update.lua

選項(xiàng) oltp-non-index-updates 單次事務(wù)中范圍選擇測(cè)試的查詢次數(shù)。C 為隨機(jī)產(chǎn)生的字符串,查詢語(yǔ)句:

UPDATE sbtest SET c=C WHERE id=N

DELETE test

只要沒有指定 oltp-read-only=on 就能進(jìn)行更新測(cè)試。通過(guò)執(zhí)行分布產(chǎn)生一個(gè)不大于 oltp-table-siez 的數(shù)字 N,執(zhí)行語(yǔ)句:

DELETE FROM sbtest WHERE id=N

INSERT test

只要沒有指定 oltp-read-only=on 就能進(jìn)行更新測(cè)試。通過(guò)執(zhí)行分布產(chǎn)生一個(gè)不大于 oltp-table-siez 的數(shù)字 N,執(zhí)行語(yǔ)句:

INSERT INTO sbtest (id, k, c, pad) VALUES N, K, C, PAD

使用舉例:

使用 5 個(gè)線程在 25 個(gè) table 上進(jìn)行默認(rèn)測(cè)試:

./sysbench --mysql-user=USER --mysql-password=SECRET --test=tests/db/oltp.lua --oltp-tables-count=25 --num-threads=5 run

使用 10 個(gè)線程在 100 個(gè) table 上進(jìn)行 select 測(cè)試,10 個(gè)點(diǎn)測(cè)試和值為 1000 的范圍測(cè)試:

./sysbench --mysql-user=USER --mysql-password=SECRET --test=tests/db/select.lua --oltp-tables-count=100 --num-threads=10

--oltp-point-selects=100 --oltp-range-size=1000 run

階段 4:清理(cleanup)

可以通過(guò)清理操作來(lái)返回到準(zhǔn)備的階段。必須提供鏈接數(shù)據(jù)庫(kù)服務(wù)器的選項(xiàng)和創(chuàng)建的表的數(shù)量。

./sysbench --test=tests/db/oltp.lua --mysql-user=USER --mysql-password=SECRET --oltp-tables-count=64 cleanup

總結(jié)

以上是生活随笔為你收集整理的mysql sysbench_MySQL sysbench基准测试的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91爱视频 | 日韩精品在线一区二区三区 | 999国产 | 游戏涩涩免费网站 | 激情文学亚洲色图 | 欧美极品一区二区三区 | 灌满闺乖女h高h调教尿h | 青草视频在线播放 | 成年人在线视频观看 | 免费无码不卡视频在线观看 | 91在线无精精品白丝 | 久草网视频在线观看 | 国产 日韩 欧美 综合 | 尤物天堂| 欧美精品在欧美一区二区少妇 | 自拍1区| 天天艹夜夜| 免费黄色网址在线观看 | 毛片aaa | 国产一级免费 | 午夜精品久久久久久久久久久久 | 麻豆精品国产传媒 | 色图自拍偷拍 | 午夜肉体高潮免费毛片 | 久久中文字幕人妻 | 国产乱码精品一区二区三区五月婷 | 成人精品动漫 | 精品无码一级毛片免费 | 精品一区二区三区无码视频 | 黑人巨大精品欧美一区二区 | 精品久久久久久无码人妻 | 黄色精品一区二区 | 欧美日韩高清一区二区 | 日韩一二三四五区 | 亚洲日日骚 | 日韩视频在线观看视频 | 日鲁鲁| 国产人妻精品午夜福利免费 | 欧美爽妇 | 91激情视频在线 | 国产suv精品一区二区33 | 免费在线观看黄色 | 黄色免费视频网站 | 色婷婷狠狠 | 黄色大网站| 亚洲成年人av | 国产福利一区二区视频 | 国产96在线 | 伊人影音 | 久久久一区二区三区四区 | 久久青| 精品一区免费 | 日韩久久免费视频 | 欧美视频免费在线观看 | 天堂网一区二区 | 日韩av一区二区三区在线观看 | 欧美天堂视频 | 国产吧在线 | free性满足hd国产精品久 | 校园春色亚洲 | 日韩欧美视频在线 | 少妇av一区二区三区无码 | 国产精品无码一区二区三区三 | 色播亚洲| 艹少妇视频 | xx性欧美肥妇精品久久久久久 | 在线观看日韩中文字幕 | 国产精品xxx在线观看www | 有声小说 成人专区 | 中文字幕不卡在线 | 18av视频| 91av看片 | 欧美一级黄色片子 | 精品久久一区二区三区 | 水蜜桃av在线 | 国产成人在线一区 | 五月激情婷婷丁香 | 亚洲天天视频 | √天堂资源在线 | 中国黄色三级 | 在线观看免费视频 | 久久久精品影院 | 在线观看免费黄网站 | 高清国产在线观看 | 日韩国产电影 | 日韩在线三区 | 老司机在线精品视频 | 岛国片在线免费观看 | 日韩激情网站 | 茄子视频懂你更多在线观看 | 成人福利网站在线观看 | 伊人久久久久久久久久 | 涩av| 在线观看视频二区 | 91最新地址永久入口 | 亚洲三级色 | 妺妺窝人体色www在线下载 | 大奶骚| 日本人妖xxxx |