真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

壓測工具之Sysbench怎么用-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“壓測工具之Sysbench怎么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“壓測工具之Sysbench怎么用”這篇文章吧。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的滁州網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!


一、sysbench下載
項目地址:https://launchpad.net/sysbench   
下載地址:https://github.com/akopytov/sysbench/archive/1.0.3.tar.gz
二、sysbench安裝
[root@DB_TEST tools]# tar -xzvf sysbench-1.0.3.tar.gz
[root@DB_TEST tools]# cd sysbench-1.0.3
[root@DB_TEST sysbench-1.0.3]# ./autogen.sh
[root@DB_TEST sysbench-1.0.3]#./configure  --prefix=/usr/local/sysbench --with-mysql
[root@DB_TEST sysbench-1.0.3]# make
[root@DB_TEST sysbench-1.0.3]# make install
[root@DB_TEST sysbench-1.0.3]#  cp -rp /usr/local/sysbench/bin/sysbench  /usr/bin/
[root@DB_TEST sysbench-1.0.3]# /usr/local/sysbench/bin/sysbench --help  
點擊(此處)折疊或打開

  1. [root@BJ-133-22 sysbench-1.0.3]# /usr/local/sysbench/bin/sysbench --help

  2. Usage:

  3. sysbench [options]... [testname] [command]

  4. Commands implemented by most tests: prepare run cleanup help

  5. General options:

  6. --threads=N                     number of threads to use [1]

  7. --events=N                      limit for total number of events [0]

  8. --time=N                        limit for total execution time in seconds [10]

  9. --forced-shutdown=STRING        number of seconds to wait after the --time limit before forcing shutdown, or 'off' to disable [off]

  10. --thread-stack-size=SIZE        size of stack per thread [64K]

  11. --rate=N                        average transactions rate. 0 for unlimited rate [0]

  12. --report-interval=N             periodically report intermediate statistics with a specified interval in seconds. 0 disables intermediate reports [0]

  13. --report-checkpoints=[LIST,...] dump full statistics and reset all counters at specified points in time. The argument is a list of comma-separated values representing the amount of time in seconds elapsed from start of test when report checkpoint(s) must be performed. Report checkpoints are off by default. []

  14. --debug[=on|off]                print more debugging info [off]

  15. --validate[=on|off]             perform validation checks where possible [off]

  16. --help[=on|off]                 print help and exit [off]

  17. --version[=on|off]              print version and exit [off]

  18. --config-file=FILENAME          File containing command line options

  19. --tx-rate=N                     deprecated alias for --rate [0]

  20. --max-requests=N                deprecated alias for --events [0]

  21. --max-time=N                    deprecated alias for --time [0]

  22. --num-threads=N                 deprecated alias for --threads [1]

  23. Pseudo-Random Numbers Generator options:

  24. --rand-type=STRING random numbers distribution {uniform,gaussian,special,pareto} [special]

  25. --rand-spec-iter=N number of iterations used for numbers generation [12]

  26. --rand-spec-pct=N  percentage of values to be treated as 'special' (for special distribution) [1]

  27. --rand-spec-res=N  percentage of 'special' values to use (for special distribution) [75]

  28. --rand-seed=N      seed for random number generator. When 0, the current time is used as a RNG seed. [0]

  29. --rand-pareto-h=N  parameter h for pareto distibution [0.2]

  30. Log options:

  31. --verbosity=N verbosity level {5 - debug, 0 - only critical messages} [3]

  32. --percentile=N       percentile to calculate in latency statistics (1-100). Use the special value of 0 to disable percentile calculations [95]

  33. --histogram[=on|off] print latency histogram in report [off]

  34. General database options:

  35. --db-driver=STRING  specifies database driver to use ('help' to get list of available drivers)

  36. --db-ps-mode=STRING prepared statements usage mode {auto, disable} [auto]

  37. --db-debug[=on|off] print database-specific debug information [off]

  38. Compiled-in database drivers:

  39. mysql - MySQL driver

  40. mysql options:

  41. --mysql-host=[LIST,...]          MySQL server host [localhost]

  42. --mysql-port=[LIST,...]          MySQL server port [3306]

  43. --mysql-socket=[LIST,...]        MySQL socket

  44. --mysql-user=STRING              MySQL user [sbtest]

  45. --mysql-password=STRING          MySQL password []

  46. --mysql-db=STRING                MySQL database name [sbtest]

  47. --mysql-ssl[=on|off]             use SSL connections, if available in the client library [off]

  48. --mysql-ssl-cipher=STRING        use specific cipher for SSL connections []

  49. --mysql-compression[=on|off]     use compression, if available in the client library [off]

  50. --mysql-debug[=on|off]           trace all client library calls [off]

  51. --mysql-ignore-errors=[LIST,...] list of errors to ignore, or "all" [1213,1020,1205]

  52. --mysql-dry-run[=on|off]         Dry run, pretend that all MySQL client API calls are successful without executing them [off]

  53. Compiled-in tests:

  54. fileio - File I/O test

  55. cpu - CPU performance test

  56. memory - Memory functions speed test

  57. threads - Threads subsystem performance test

  58. mutex - Mutex performance test

  59. See 'sysbench  help' for a list of options for each test.

三、sysbench使用
1、CPU性能測試

cpu性能測試:找范圍內(nèi)大素數(shù){時間越短越好}

cpu性能測試主要是根據(jù)素數(shù)的加法運算,這里指定大素數(shù)(質(zhì)數(shù))為80000,--num-threads=`grep "processor" /proc/cpuinfo | wc -l`指定線程數(shù),默認是1

/usr/local/sysbench/bin/sysbench --test=cpu --cpu-max-prime=80000 run

點擊(此處)折疊或打開

  1. [root@db_test ~]# /usr/local/sysbench/bin/sysbench --test=cpu --cpu-max-prime=80000 run

  2. WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.

  3. sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

  4. Running the test with following options:

  5. Number of threads: 1

  6. Initializing random number generator from current time

  7. Prime numbers limit: 80000

  8. Initializing worker threads...

  9. Threads started!

  10. General statistics:

  11. total time:                          10.0057s

  12. total number of events:              520

  13. Latency (ms):

  14. min:                                 18.74

  15. avg:                                 19.24

  16. max:                                 19.39

  17. 95th percentile:                     19.29

  18. sum:                              10005.32

  19. Threads fairness:

  20. events (avg/stddev):           520.0000/0.00

  21. execution time (avg/stddev):   10.0053/0.00

實際環(huán)境CPU拷機壓測腳本如下:

echo -e "進行CPU壓力測試: 尋找小于1千萬的大質(zhì)數(shù),并發(fā)線程數(shù)10,大請求數(shù)100 "

/usr/local/bin/sysbench --num-threads=10 --max-requests=100 --test=cpu --debug --cpu-max-prime=10000000 run


2、內(nèi)存性能測試

sysbench 測試memory的時候是順序讀或?qū)憙?nèi)存的。根據(jù)選項的不同,每次操作過程中,每個線程可以獲取global或本地的數(shù)據(jù)塊

內(nèi)存:以不同塊大小傳輸一定數(shù)量的數(shù)據(jù)吞吐量大小{越大越好}

點擊(此處)折疊或打開

  1. [root@db_test fileio]# /usr/local/sysbench/bin/sysbench --test=memory  help

  2. WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.

  3. sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

  4. memory options:

  5.   --memory-block-size=SIZE size of memory block for test [1K]  測試時內(nèi)存塊大小

  6.   --memory-total-size=SIZE total size of data to transfer [100G] 傳輸數(shù)據(jù)總大小

  7.   --memory-scope=STRING       memory access scope {global,local} [global]  內(nèi)存訪問范圍

  8.   --memory-hugetlb[=on|off] allocate memory from HugeTLB pool [off] 從 HugeTLB pool內(nèi)存分配

  9.   --memory-oper=STRING type of memory operations {read, write, none} [write] 內(nèi)存操作類型

  10.   --memory-access-mode=STRING memory access mode {seq,rnd} [seq] 存儲器存取方式

示例:測試傳輸數(shù)據(jù)總量為5G,每個塊大小是1K(一般設(shè)置是8K),連續(xù)讀寫的情況下,吞吐量3435.87 MiB/sec
[root@db_test fileio]# /usr/local/sysbench/bin/sysbench --test=memory --memory-block-size=1K --memory-total-size=5G run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Initializing worker threads...

Threads started!

Operations performed: 5242880 (3518332.06 ops/sec)

5120.00 MiB transferred (3435.87 MiB/sec)


General statistics:
    total time:                          1.4883s
    total number of events:              5242880

Latency (ms):
         min:                                  0.00
         avg:                                  0.00
         max:                                  0.03
         95th percentile:                      0.00
         sum:                                631.01

Threads fairness:
    events (avg/stddev):           5242880.0000/0.00
    execution time (avg/stddev):   0.6310/0.00

實際內(nèi)存壓力測試腳本:

echo -e "進行內(nèi)存壓力測試: 測試范圍32G,并發(fā)線程數(shù)10,大請求數(shù)100, 讀 "

/usr/local/bin/sysbench --num-threads=10 --max-requests=100 --test=memory --memory-block-size=8K --memory-total-size=${MEM}G --memory-oper=read run

echo -e "進行內(nèi)存壓力測試: 測試范圍32G,并發(fā)線程數(shù)10,大請求數(shù)100, 寫 "

/usr/local/bin/sysbench --num-threads=10 --max-requests=100 --test=memory --memory-block-size=8K --memory-total-size=${MEM}G --memory-oper=write run


3、磁盤IO性能測試

IO性能測試:不同場景下IOPS{越大越好}

點擊(此處)折疊或打開

  1. [root@db_test sysbench-1.0.3]# /usr/local/sysbench/bin/sysbench --test=fileio help

  2. WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.

  3. sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

  4. fileio options:

  5. --file-num=N              number of files to create [128]

  6. --file-block-size=N       block size to use in all IO operations [16384]

  7. --file-total-size=SIZE    total size of files to create [2G]

  8. --file-test-mode=STRING   test mode {seqwr, seqrewr, seqrd, rndrd, rndwr, rndrw}

  9. --file-io-mode=STRING     file operations mode {sync,async,mmap} [sync]

  10. --file-async-backlog=N    number of asynchronous operatons to queue per thread [128]

  11. --file-extra-flags=STRING additional flags to use on opening files {sync,dsync,direct} []

  12. --file-fsync-freq=N       do fsync() after this number of requests (0 - don't use fsync()) [100]

  13. --file-fsync-all[=on|off] do fsync() after each write operation [off]

  14. --file-fsync-end[=on|off] do fsync() at the end of test [on]

  15. --file-fsync-mode=STRING  which method to use for synchronization {fsync, fdatasync} [fsync]

  16. --file-merged-requests=N  merge at most this number of IO requests if possible (0 - don't merge) [0]

  17. --file-rw-ratio=N         reads/writes ratio for combined test [1.5]

--file-num=N                       創(chuàng)建測試文件數(shù)量,默認是 [128]
--file-block-size=N                測試時文件塊大小,默認是[16384],即16K
--file-total-size=SIZE             測試文件的總大小,默認是 [2G]
--file-test-mode=STRING            測試模式 {seqwr(順序?qū)懀? seqrewr(順序讀寫), seqrd(順序讀), rndrd(隨機讀), rndwr(隨機寫), rndrw(隨機讀寫)}
--file-io-mode=STRING              文件操作模式{sync,async,mmap} [sync]
--file-extra-flags=STRING          使用額外的標(biāo)志打開文件 {sync,dsync,direct} []
--file-fsync-freq=N                執(zhí)行fsync()頻率,0表示不使用,默認100
--file-fsync-all=[on|off]          每執(zhí)行一次寫操作執(zhí)行一次fsync(),默認 [off]
--file-fsync-end=[on|off]          測試結(jié)束執(zhí)行fsync(),默認 [on]
--file-fsync-mode=STRING           同步方法 {fsync, fdatasync} [fsync]
--file-merged-requests=N           如果可以,則合并IO請求數(shù),默認0表示不合并
--file-rw-ratio=N                  測試讀寫比例,默認[1.5]

seqwr 順序?qū)懭?br/>seqrewr 順序重寫
seqrd 順序讀取
rndrd 隨機讀取
rndwr 隨機寫入
rndrw 混合隨機讀/寫

FileIO示例01:prepare 命令創(chuàng)建了128個文件總共大小為10G ,文件讀寫模式為隨機讀寫混合方式。run 命令則進行測試,并返回結(jié)果,cleanup 刪除測試產(chǎn)生的文件!
##Fileio準(zhǔn)備工作,生成測試數(shù)據(jù)(最好比內(nèi)存的2倍大)
[root@db_test fileio]# /usr/local/sysbench/bin/sysbench  --num-threads=16 --test=fileio --file-total-size=10G --file-test-mode=rndrw prepare
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
WARNING: --num-threads is deprecated, use --threads instead
sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

128 files, 81920Kb each, 10240Mb total
Creating files for the test...
Extra file open flags: 0
Creating file test_file.0
...
Creating file test_file.127
10737418240 bytes written in 9.96 seconds (1027.97 MiB/sec).
##正式執(zhí)行FileIO測試
[root@db_test fileio]# /usr/local/sysbench/bin/sysbench  --num-threads=16 --test=fileio --file-total-size=10G --file-test-mode=rndrw run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
WARNING: --num-threads is deprecated, use --threads instead
sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 16
Initializing random number generator from current time


Extra file open flags: 0
128 files, 80MiB each
10GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random r/w test
Initializing worker threads...

Threads started!


File operations:
    reads/s:                      1449.16
    writes/s:                     965.91
    fsyncs/s:                     3083.55

Throughput:
    read, MiB/s:                  22.64
    written, MiB/s:               15.09

General statistics:
    total time:                          10.4176s
    total number of events:              57291

Latency (ms):
         min:                                  0.00
         avg:                                  2.87
         max:                                825.08
         95th percentile:                      0.17
         sum:                             164312.66

Threads fairness:
    events (avg/stddev):           3580.6875/469.53
    execution time (avg/stddev):   10.2695/0.08

IO密切相關(guān)的包括每秒請求數(shù)和總吞吐量,其中請求數(shù)是(1449.16+965.91+3083.55)/s,吞吐量是(22.64+15.09)MB/s

##清理創(chuàng)建的文件
[root@db_test fileio]# /usr/local/sysbench/bin/sysbench  --num-threads=16 --test=fileio --file-total-size=10G --file-test-mode=rndrw cleanup
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
WARNING: --num-threads is deprecated, use --threads instead
sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

Removing test files...

實際環(huán)境FILEIO壓力測試腳本:

echo -e "進行IO壓力測試: 20個文件,每個10GB,隨機讀寫 "

/usr/local/bin/sysbench --file-num=20 --num-threads=20 --test=fileio --file-total-size=${HDD}G --max-requests=1000000 --file-test-mode=rndrw prepare

/usr/local/bin/sysbench --file-num=20 --num-threads=20 --test=fileio --file-total-size=${HDD}G --max-requests=1000000 --file-test-mode=rndrw run

/usr/local/bin/sysbench --file-num=20 --num-threads=20 --test=fileio --file-total-size=${HDD}G --max-requests=1000000 --file-test-mode=rndrw cleanup

4、thread測試

線程調(diào)度:線程并發(fā)執(zhí)行,循環(huán)響應(yīng)信號量花費的時間{越少越好}
測試線程調(diào)度器的性能。對于高負載情況下測試線程調(diào)度器的行為非常有用測試線程調(diào)度器的性能。對于高負載情況下測試線程調(diào)度器的行為非常有用

點擊(此處)折疊或打開

  1. [root@db_test fileio]# /usr/local/sysbench/bin/sysbench --test=threads help

  2. WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.

  3. sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

  4. threads options:

  5. --thread-yields=N number of yields to do per request [1000] 每個請求產(chǎn)生多少個線程,默認[1000]

  6. --thread-locks=N  number of locks per thread [8]    每個線程的鎖數(shù)量,默認 [8]

示例:
[root@db_test fileio]# /usr/local/sysbench/bin/sysbench --num-threads=64 --test=threads --thread-yields=100 --thread-locks=2 run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
WARNING: --num-threads is deprecated, use --threads instead
sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 64
Initializing random number generator from current time


Initializing worker threads...

Threads started!


General statistics:
    total time:                          10.0043s
    total number of events:              102842

Latency (ms):
         min:                                  0.02
         avg:                                  6.22
         max:                                 28.83
         95th percentile:                     15.00
         sum:                             640039.96

Threads fairness:
    events (avg/stddev):           1606.9062/31.79
    execution time (avg/stddev):   10.0006/0.00

5、互斥鎖測試

互斥鎖:并發(fā)線程同時申請互斥鎖循環(huán)一定次數(shù)花費的時間{越少越好}

測試互斥鎖的性能,方式是模擬所有線程在同一時刻并發(fā)運行,并都短暫請求互斥鎖

點擊(此處)折疊或打開

  1. [root@db_test fileio]# /usr/local/sysbench/bin/sysbench --test=mutex help

  2. WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.

  3. sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

  4. mutex options:

  5.   --mutex-num=N   total size of mutex array [4096] 數(shù)組互斥總大小,默認[4096]

  6.   --mutex-locks=N number of mutex locks to do per thread [50000] 每個線程互斥鎖的數(shù)量,默認 [50000]

  7.   --mutex-loops=N number of empty loops to do inside mutex lock [10000] 內(nèi)部互斥鎖的空循環(huán)數(shù)量,默認 [10000]

所有線程同時執(zhí)行,獲取短時間的mutex lock,以便測試mutex的實現(xiàn)!

示例:
[root@db_test fileio]# /usr/local/sysbench/bin/sysbench --test=mutex --mutex-num=4096 --mutex-locks=50000 --mutex-loops=20000 run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.3 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Initializing worker threads...

Threads started!


General statistics:
    total time:                          0.0021s
    total number of events:              1

Latency (ms):
         min:                                  2.05
         avg:                                  2.05
         max:                                  2.05
         95th percentile:                      2.03
         sum:                                  2.05

Threads fairness:
    events (avg/stddev):           1.0000/0.00
    execution time (avg/stddev):   0.0020/0.00

以上是“壓測工具之Sysbench怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!


新聞名稱:壓測工具之Sysbench怎么用-創(chuàng)新互聯(lián)
本文來源:http://weahome.cn/article/ddhjss.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部