sysbench 压力测试

来源:这里教程网 时间:2026-03-01 14:48:37 作者:

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

相关推荐