欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > sysbench测试总结

sysbench测试总结

2024/10/25 20:19:32 来源:https://blog.csdn.net/weixin_45067241/article/details/142169574  浏览:    关键词:sysbench测试总结

Sysbench 是一个用于评估和测试系统性能的多功能基准测试工具,主要用于测量 CPU、内存、磁盘 I/O、数据库(如 MySQL)等子系统的性能。它可以帮助你评估硬件或系统的表现,找到潜在的瓶颈。

一、sysbench安装

在大多数 Linux 发行版中,sysbench 可以通过包管理器安装。

在 Ubuntu/Debian:

sudo apt update
sudo apt install sysbench

在 CentOS/RHEL:

sudo yum install epel-release
sudo yum install sysbench

二、测试类型

sysbench 支持以下几种性能测试类型:
CPU 性能测试
内存性能测试
磁盘 I/O 性能测试
数据库(如 MySQL)性能测试

三、测试过程

1、cpu性能测试

此测试会执行一系列计算操作,模拟CPU的计算性能

sysbench cpu --cpu-max-prime=20000 --threads=4 run
  • –cpu-max-prime=20000:表示最大素数计算为 20000,增加这个值可以增加测试的负载。
  • –threads=4:表示使用 4 个线程,模拟多核 CPU 的工作负载。

还可以通过–time选项来设置测试运行的最长时间,例如让测试运行60秒

sysbench cpu --cpu-max-prime=20000 --threads=4 --time=60 run

测试结果将显示 CPU 在一定时间内完成的计算数量
测试结果示例如下:

Threads started!CPU speed:events per second:  1381.25General statistics:total time:                          10.0005stotal number of events:              13819Latency (ms):min:                                    0.72avg:                                    0.72max:                                    0.8195th percentile:                        0.73sum:                                 9996.75Threads fairness:events (avg/stddev):           13819.0000/0.00execution time (avg/stddev):   9.9967/0.00
  • 每秒事件数(events per second)
    events per second: 1381.25,表示在测试运行期间,系统每秒处理的事件数为1381.25
  • 总执行时间(total time):
    表示整个测试所花费的时间。total time: 10.0005s,表示总共耗时10.0005秒
  • 每个线程的执行时间(execution time)
    在多线程测试中,每个线程都有自己的执行时间,通常会显示平均值和标准差。execution time (avg/stddev): 9.9967/0.00,表示每个线程的平均执行时间为9.9967秒,标准差为0秒

关键性能指标总结:
执行时间是sysbench测试输出的关键部分,显示了测试运行的总时长和每个线程的执行时间,在多线程测试中,sysbench还会显示每秒处理的事件数和每次请求的延迟。

2、内存性能测试

该测试用于评估内存的读写速度

sysbench memory --memory-block-size=1M --memory-total-size=10G --threads=4 run
  • –memory-block-size=1M 表示每次内存操作的块大小为1MB
  • –memory-total-size=10G 表示测试总共将写入或读取10GB的数据
  • –threads=4:表示使用 4 个线程,模拟多核 CPU 的工作负载。

测试结果示例如下:

Threads started!Total operations: 10240 (15972.08 per second)10240.00 MiB transferred (15972.08 MiB/sec)General statistics:total time:                          0.6371stotal number of events:              10240Latency (ms):min:                                    0.06avg:                                    0.06max:                                    0.0895th percentile:                        0.06sum:                                  632.48Threads fairness:events (avg/stddev):           10240.0000/0.00execution time (avg/stddev):   0.6325/0.00
  • 操作次数(Total operations)
    Total operations: 10240 (15972.08 per second),表示测试中总共进行了10240次内存操作,平均每秒执行了15972.08次操作
    这个值越高,表示系统的内存读写性能越好

  • 数据传输量(MiB transferred)
    10240.00 MiB transferred (15972.08 MiB/sec),显示总共传输了10240MB(10GB)的数据,传输速度为15972.08 MB/s
    代表系统每秒可以处理15972MB的内存数据,这个指标显示了内存的额吞吐量,通常越高越好

  • 总时间(total time)
    total time: 0.6371s,表示整个测试花费的时间为0.6371秒

  • 延迟(Latency)
    延迟是指每次内存操作的响应时间。
    min: 0.06 (最小延迟)
    avg: 0.06 (平均延迟)
    max: 0.08 (最大延迟)
    95th percentile: 0.06 (95%百分位延迟)
    sum: 632.48 (总延迟)
    延迟越低,内存性能越好,一般来说,内存的延迟越小,应用程序处理数据的响应时间就越快

  • 线程公平性(Threads fairness)
    这部分展示了在多线程测试中,每个线程的执行时间和处理的事件数
    events (avg/stddev):10240.0000/0.00,表示每个线程平均处理了1024次内存从哦啊做,标准差为0。表明线程之间的负载分布相对均衡
    execution time (avg/stddev): 0.6325/0.00,表示每个线程的平均执行时间为0.6325,标准差为0

关键性能指标总结:

  1. 内存吞吐量(MB/sec)
    这是内存读写的关键性能指标,显示每秒可以传输的数据量
  2. 操作次数(ops/sec)
    这表示系统每秒能够处理多少次内存操作
  3. 延迟(latency)
    表示系统处理每次内存请求的速度

3、磁盘I/O性能测试

此测试用于评估磁盘读写速度
准备磁盘测试文件

sysbench fileio --file-total-size=5G prepare

运行随机读写测试

sysbench fileio --file-total-size=5G --file-test-mode=rndrw --max-time=60 --max-requests=0 --threads=4 run

清理测试文件

sysbench fileio --file-total-size=5G cleanup
  • –file-total-size=5G:生成的测试文件大小为5GB
  • –file-test-mode-rndrw:进行随机读写操作
  • –max-time=60:测试运行时间为60秒
  • –max-requests=0:表示不限请求次数,以时间为准
  • –threads=4:表示使用 4 个线程,模拟多核 CPU 的工作负载

测试结果示例如下:

Threads started!File operations:reads/s:                      640.02writes/s:                     426.68fsyncs/s:                     1367.10Throughput:read, MiB/s:                  10.00written, MiB/s:               6.67General statistics:total time:                          60.0842stotal number of events:              146124Latency (ms):min:                                    0.00avg:                                    0.41max:                                   53.4295th percentile:                        0.97sum:                                59905.41Threads fairness:events (avg/stddev):           146124.0000/0.00execution time (avg/stddev):   59.9054/0.00
  • 吞吐量(Throughput)
    read 10.00Mib/s,表示系统每秒可以处理约10Mib的数据读
    越高的吞吐量表示磁盘的读写速度越快,通过固态硬盘(SSD)的吞吐量会远高于传统机械硬盘(HDD)

4、mysql数据库性能测试

在进行数据库性能测试之前,首先需要准备好mysql数据库,并创建测试表
准备数据库表

sysbench oltp_read_write --db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=yourpassword --tables=10 --table-size=1000000 prepare

运行测试

sysbench oltp_read_write --db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=yourpassword --tables=10 --table-size=1000000 --threads=8 --time=60 run

清理数据库

sysbench oltp_read_write --db-driver=mysql --mysql-db=test --mysql-user=root --mysql-password=yourpassword cleanup- --tables=10:表示创建10个测试表- --table-size=1000000 :表示包含1000000行数据- --threads=8:使用8个线程- --time=60:测试时间为60秒

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com