sysbench 壓力測試
sysbench支援以下幾種測試模式:
1、CPU運算效能
2、磁碟IO效能
3、排程程式效能
4、記憶體分配及傳輸速度
5、POSIX執行緒效能
6、資料庫效能(OLTP基準測試)
sysbench版本:
[root@127-0-0-1 sysbench]# /u01/opt/sysbench/bin/sysbench --version
sysbench 1.1.0
CPU測試:
[root@127-0-0-1 sysbench]# /u01/opt/sysbench/bin/sysbench cpu --cpu-max-prime=10000 run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Prime numbers limit: 10000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 658.31
Throughput:
events/s (eps): 658.3125
time elapsed: 10.0013s
total number of events: 6584
Latency (ms):
min: 1.44
avg: 1.52
max: 3.07
95th percentile: 1.52
sum: 9998.21
Threads fairness:
events (avg/stddev): 6584.0000/0.00
execution time (avg/stddev): 9.9982/0.00
執行緒測試:
[root@127-0-0-1 sysbench]# /u01/opt/sysbench/bin/sysbench threads help
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
threads options:
--thread-yields=N number of yields to do per request [1000] #每個請求要執行的收益效率[1000]
--thread-locks=N number of locks per thread [8] #每個執行緒的鎖數[8]
[root@127-0-0-1 sysbench]# /u01/opt/sysbench/bin/sysbench threads --thread-yields=1000 --thread-locks=2 run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Initializing worker threads...
Threads started!
Throughput:
events/s (eps): 1349.6979
time elapsed: 10.0008s
total number of events: 13498
Latency (ms):
min: 0.73
avg: 0.74
max: 1.50
95th percentile: 0.74
sum: 9996.37
Threads fairness:
events (avg/stddev): 13498.0000/0.00
execution time (avg/stddev): 9.9964/0.00
磁碟IO測試:
[root@127-0-0-1 sysbench]# /u01/opt/sysbench/bin/sysbench fileio help
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
fileio options:
--file-num=N number of files to create [128] #代表生成檔案的數量[128]
--file-block-size=N block size to use in all IO operations [16384] #在所有IO操作中使用的塊大小 [16384]
--file-total-size=SIZE total size of files to create [2G] #要建立的檔案的總大小 [2G]
--file-test-mode=STRING test mode {seqwr, seqrewr, seqrd, rndrd, rndwr, rndrw} #測試模式 {seqwr, seqrewr, seqrd, rndrd, rndwr, rndrw}
--file-io-mode=STRING file operations mode {sync,async,mmap} [sync] #檔案操作模式 {sync,async,mmap} [sync]
--file-async-backlog=N number of asynchronous operatons to queue per thread [128] #每個執行緒要排隊的非同步運算元 [128]
--file-extra-flags=[LIST,...] list of additional flags to use to open files {sync,dsync,direct} [] #用於開啟檔案的附加標誌列表 {sync,dsync,direct} []
--file-fsync-freq=N do fsync() after this number of requests (0 - don't use fsync()) [100] #執行fsync()函式的頻率。fsync主要是同步磁碟檔案,因為可能有系統和磁碟緩衝的關係。 0代表不使用fsync函式。預設值為100。
--file-fsync-all[=on|off] do fsync() after each write operation [off] #每執行完一次寫操作,就執行一次fsync。預設為off。
--file-fsync-end[=on|off] do fsync() at the end of test [on] #在測試結束時執行fsync函式。預設為on。
--file-fsync-mode=STRING which method to use for synchronization {fsync, fdatasync} [fsync] #檔案同步函式的選擇,同樣是和API相關的引數,由於多個作業系統對於fdatasync支援不同,因此不建議使用fdatasync。預設為fsync。
--file-merged-requests=N merge at most this number of IO requests if possible (0 - don't merge) [0] #大多情況下,合併可能的IO的請求數,預設為0。
--file-rw-ratio=N reads/writes ratio for combined test [1.5] # 測試時的讀寫比例,預設時為1.5,即可3:2。
/u01/opt/sysbench/bin/sysbench fileio --threads=16 --file-total-size=2G --file-test-mode=rndrw prepare #準備
/u01/opt/sysbench/bin/sysbench fileio --threads=16 --file-total-size=2G --file-fsync-freq=0 --file-test-mode=rndrw run #執行
/u01/opt/sysbench/bin/sysbench fileio --threads=16 --file-total-size=2G --file-test-mode=rndrw cleanup #清理
[root@127-0-0-1 yoon]# /u01/opt/sysbench/bin/sysbench fileio --threads=16 --file-total-size=2G --file-fsync-freq=0 --file-test-mode=rndrw run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 16
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 16MiB each
2GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...
Threads started!
Throughput:
read: IOPS=383594.04 5993.66 MiB/s (6284.80 MB/s)
write: IOPS=255729.12 3995.77 MiB/s (4189.87 MB/s)
fsync: IOPS=122.71
Latency (ms):
min: 0.00
avg: 0.01
max: 1.73
95th percentile: 0.03
sum: 144444.71
記憶體測試:
[root@127-0-0-1 yoon]# /u01/opt/sysbench/bin/sysbench memory help
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
memory options:
--memory-block-size=SIZE size of memory block for test [1K] #測試記憶體塊的大小 [1K]
--memory-total-size=SIZE total size of data to transfer [100G] #要傳輸的資料的總大小100G]
--memory-scope=STRING memory access scope {global,local} [global] #記憶體訪問範圍 {global,local} [global]
--memory-hugetlb[=on|off] allocate memory from HugeTLB pool [off] #從記憶體池中分配記憶體[off]
--memory-oper=STRING type of memory operations {read, write, none} [write] #儲存操作型別 {read, write, none} [write]
--memory-access-mode=STRING memory access mode {seq,rnd} [seq] #儲存器存取方式 {seq,rnd} [seq]
[root@127-0-0-1 yoon]# /u01/opt/sysbench/bin/sysbench memory --memory-total-size=10G --memory-block-size=8K run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Running memory speed test with the following options:
block size: 8KiB
total size: 10240MiB
operation: write
scope: global
Initializing worker threads...
Threads started!
Total operations: 1310720 (1077326.35 per second)
10240.00 MiB transferred (8416.61 MiB/sec)
Throughput:
events/s (eps): 1077326.3489
time elapsed: 1.2166s
total number of events: 1310720
Latency (ms):
min: 0.00
avg: 0.00
max: 0.02
95th percentile: 0.00
sum: 893.01
Threads fairness:
events (avg/stddev): 1310720.0000/0.00
execution time (avg/stddev): 0.8930/0.00
OLTP測試:
[root@127-0-0-1 sysbench]# ls
bulk_insert.lua oltp_delete.lua oltp_point_select.lua oltp_read_write.lua oltp_update_non_index.lua prepare.log select_random_ranges.lua
oltp_common.lua oltp_insert.lua oltp_read_only.lua oltp_update_index.lua oltp_write_only.lua select_random_points.lua tests
/u01/opt/sysbench/bin/sysbench /u01/opt/sysbench/share/sysbench/oltp_common.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password='root@01.com' --mysql-db=sbtest --table-size=5000000 --threads=10 --report-interval=10 prepare
[root@127-0-0-1 sysbench]# /u01/opt/sysbench/bin/sysbench /u01/opt/sysbench/share/sysbench/oltp_read_write.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password='root@01.com' --mysql-db=sbtest --table-size=5000000 --threads=10 --report-interval=10 --time=120 run
sysbench 1.1.0 (using bundled LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 10
Report intermediate results every 10 second(s)
Initializing random number generator from current time
Initializing worker threads...
Threads started!
[ 10s ] thds: 10 tps: 824.26 qps: 16498.17 (r/w/o: 11550.29/3298.36/1649.53) lat (ms,95%): 16.71 err/s: 0.00 reconn/s: 0.00
[ 20s ] thds: 10 tps: 938.90 qps: 18778.84 (r/w/o: 13146.36/3754.69/1877.79) lat (ms,95%): 13.95 err/s: 0.00 reconn/s: 0.00
[ 30s ] thds: 10 tps: 969.19 qps: 19383.22 (r/w/o: 13568.10/3876.74/1938.37) lat (ms,95%): 13.70 err/s: 0.00 reconn/s: 0.00
[ 40s ] thds: 10 tps: 1003.32 qps: 20061.71 (r/w/o: 14042.19/4012.88/2006.64) lat (ms,95%): 13.22 err/s: 0.00 reconn/s: 0.00
[ 50s ] thds: 10 tps: 1011.57 qps: 20236.34 (r/w/o: 14166.91/4046.29/2023.14) lat (ms,95%): 13.22 err/s: 0.00 reconn/s: 0.00
[ 60s ] thds: 10 tps: 1115.50 qps: 22309.32 (r/w/o: 15615.94/4462.38/2230.99) lat (ms,95%): 11.87 err/s: 0.00 reconn/s: 0.00
[ 70s ] thds: 10 tps: 1064.13 qps: 21283.06 (r/w/o: 14898.46/4256.33/2128.27) lat (ms,95%): 12.30 err/s: 0.00 reconn/s: 0.00
[ 80s ] thds: 10 tps: 1030.00 qps: 20599.45 (r/w/o: 14419.27/4120.19/2060.00) lat (ms,95%): 12.52 err/s: 0.00 reconn/s: 0.00
[ 90s ] thds: 10 tps: 1056.32 qps: 21127.75 (r/w/o: 14790.22/4224.89/2112.65) lat (ms,95%): 12.30 err/s: 0.00 reconn/s: 0.00
[ 100s ] thds: 10 tps: 1097.38 qps: 21946.72 (r/w/o: 15362.43/4389.52/2194.76) lat (ms,95%): 12.30 err/s: 0.00 reconn/s: 0.00
[ 110s ] thds: 10 tps: 1147.39 qps: 22948.97 (r/w/o: 16063.71/4590.47/2294.79) lat (ms,95%): 11.87 err/s: 0.00 reconn/s: 0.00
[ 120s ] thds: 10 tps: 1110.00 qps: 22200.00 (r/w/o: 15540.00/4440.00/2220.00) lat (ms,95%): 12.08 err/s: 0.00 reconn/s: 0.00
SQL statistics:
queries performed:
read: 1731702
write: 494772
other: 247386
total: 2473860
transactions: 123693 (1030.70 per sec.)
queries: 2473860 (20614.02 per sec.)
ignored errors: 0 (0.00 per sec.)
reconnects: 0 (0.00 per sec.)
Throughput:
events/s (eps): 1030.7010
time elapsed: 120.0086s
total number of events: 123693
Latency (ms):
min: 4.32
avg: 9.70
max: 185.38
95th percentile: 13.22
sum: 1199649.68
Threads fairness:
events (avg/stddev): 12369.3000/304.67
execution time (avg/stddev): 119.9650/0.00
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-2672143/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- NewSQL資料庫壓力測試工具系列——SysbenchSQL資料庫
- [資料庫]000 - ?Sysbench 資料庫壓力測試工具資料庫
- mysql之 sysbench1.0.3 安裝與系統壓力測試MySql
- 使用sysbench壓力測試MySQL(一)(r11筆記第3天)MySql筆記
- sysbench壓測實踐
- 壓力測試
- laravel壓力測試Laravel
- ORACLE壓力測試Oracle
- MACOSXApacheab壓力測試MacApache
- sysbench壓測Oracle 11gOracle
- sysbench壓測Oracle 12COracle
- sysbench 測試MySQLMySql
- MySQL 效能壓測工具-sysbench,從入門到自定義測試項MySql
- (一)效能測試(壓力測試、負載測試)負載
- RestCloud測試平臺,支援壓力測試RESTCloud
- 軟體壓力測試知識分享,2022好用壓力測試工具有哪些?
- 讓測試事半功倍軟體壓力測試工具分享,壓力測試報告怎麼收費?測試報告
- Jmeter效能測試 —— 壓力模式JMeter模式
- oracle壓力測試之orastress!OracleAST
- Apache Bench Web 壓力測試ApacheWeb
- apache ab壓力測試工具-批次壓測指令碼Apache指令碼
- 軟體壓力測試怎麼做?出具壓力測試報告軟體測評中心測試報告
- 軟體壓力測試流程和測試工具分享,讓你寫壓力測試報告再也不愁測試報告
- 10大主流壓力測試工具
- oracle壓力測試之orabm(三)Oracle
- 效能壓力測試JMeter替代:LoadjitsuJMeter
- oracle壓力測試之orabm(一)Oracle
- Android Monkey 壓力測試 介紹Android
- 使用JMeter進行壓力測試JMeter
- 壓力測試相關指標指標
- 使用Gatling做web壓力測試Web
- oracle壓力測試之orabm(二)Oracle
- 介面測試,負載測試,併發測試,壓力測試區別負載
- 軟體產品為什麼要做壓力測試?壓力測試報告如何獲取?測試報告
- [轉帖]sysbench基準測試
- 開源的負載測試/壓力測試工具 NBomber負載
- Taurus.MVC 效能壓力測試(ap 壓測 和 linux 下wrk 壓測):.NET 版本MVCLinux
- 效能測試、負載測試、壓力測試有什麼區別?負載