华为云云耀云服务器L实例评测|企业项目最佳实践之云服务器介绍(一)
华为云云耀云服务器L实例评测|企业项目最佳实践之华为云介绍(二)
华为云云耀云服务器L实例评测|企业项目最佳实践之华为云耀云服务器L实例介绍(三)
华为云云耀云服务器L实例评测|企业项目最佳实践之云耀云服务器L实例购买 (四)
华为云云耀云服务器L实例评测|企业项目最佳实践之评测用例(五)
华为云云耀云服务器L实例评测|企业项目最佳实践之包管理工具安装软件(六)
华为云云耀云服务器L实例评测|企业项目最佳实践之docker部署及应用(七)
华为云云耀云服务器L实例评测|企业项目最佳实践之私有库搭建verdaccio(八)
华为云云耀云服务器L实例评测|企业项目最佳实践之启动宠物预约项目(九)
华为云云耀云服务器L实例评测|企业项目最佳实践之计划任务与Queue队列实践 (十)
华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)
华为云云耀云服务器L实例评测|企业项目最佳实践之建议与总结(十二)
服务器压测可以选择工具sysbench,它可以模拟几千个线程并发的访问实例。作为一款广泛使用的开源模块化的、跨平台、多线程基准测试工具,sysbench主要用于评估服务器系统在不同负载条件下的性能表现。
sysbench具有简单易用性、高度灵活性、强大功能等特点,由主要我们来快速评估系统的性能,并发现潜在的瓶颈和优化计划,不管是CPU、磁盘IO,甚至是访问数据库压测,可以模拟使用各种各样的SQL语句,模拟出来各种事务提交,模拟出几十万的TPS去压测数据库。
sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况,主要包括以下几种方式的基准测试:
序号 | 指标 | 指标值 |
---|---|---|
1 | CPU性能 | 找范围内最大素数{时间越短越好} |
2 | 磁盘IO性能 | 不同场景下IOPS{越大越好} |
3 | 调度程序性能 | 不同场景下IOPS{越大越好} |
4 | 内存分配及传输速度 | 以不同块大小传输一定数量的数据吞吐量大小{越大越好} |
5 | POSIX线程性能 | 线程并发执行,循环响应信号量花费的时间{越少越好} |
6 | 数据库性能(OLTP基准测试) | 并发线程同时申请互斥锁循环一定次数花费的时间{越少越好} |
# 安装sysbench
sudo apt-get install sysbench -y
# 查看sysbench版本
sysbench --version
以下为国内某云同样的2核2G的云服务器配置,下面进行的测试就是将华为云耀云服务器L实例的相同的配置,进行一下CPU、磁盘IO、内存等的指标进行对比测试一下。
华为云耀云服务器L实例服务器配置信息:
sysbench --num-threads=12 --max-requests=10000 --debug=on --test=cpu --cpu-max-prime=20000 run
参数解析
序号 | 参数 | 说明 |
---|---|---|
1 | num-thread | 创建测试线程的数目,默认为1 |
2 | max-requests | 请求的最大数目,默认为10000,0代表不限制 |
3 | debug | 是否显示更多的调试信息,默认为off |
4 | test | 指定测试项目名称 |
5 | cpu-max-prime | 最大质数发生器数量,默认是10000 |
测试线程调度的性能,用于高负载下的线程性能测试。
sysbench --num-threads=12 --max-requests=10000 --test=threads --thread-yields=100 --thread-locks=2 run
参数解析
序号 | 参数 | 说明 |
---|---|---|
1 | num-thread | 创建测试线程的数目,默认为1 |
2 | max-requests | 请求的最大数目,默认为10000,0代表不限制 |
3 | debug | 是否显示更多的调试信息,默认为off |
4 | test | 指定测试项目名称 |
5 | thread-yields | 每个请求产生多个线程,默认是1000 |
6 | threads-locks | 每个线程的锁的数量,默认是8 |
sysbench --num-threads=12 --max-requests=10000 --test=memory --memory-block-size=8K --memory-total-size=100G --memory-access-mode=seq run
参数解析
序号 | 参数 | 说明 |
---|---|---|
1 | num-thread | 创建测试线程的数目,默认为1 |
2 | max-requests | 请求的最大数目,默认为10000,0代表不限制 |
3 | debug | 是否显示更多的调试信息,默认为off |
4 | test | 指定测试项目名称 |
5 | memory-block-size | 测试时,内存块大小 |
6 | memory-total-size | 传输数据的总大小 |
7 | memory-access-mode | 存储器存取方式(seq、rnd),默认是seq |
# 生成测试数据
sysbench --num-threads=12 --max-requests=10000 --test=fileio --file-total-size=3G --file-test-mode=rndrw prepare
# 进行测试
sysbench --num-threads=12 --max-requests=10000 --test=fileio --file-total-size=3G --file-test-mode=rndrw run
# 销毁生成的测试数据
sysbench --num-threads=12 --max-requests=10000 --test=fileio --file-total-size=3G --file-test-mode=rndrw clean
参数解析
序号 | 参数 | 说明 |
---|---|---|
1 | num-thread | 创建测试线程的数目,默认为1 |
2 | max-requests | 请求的最大数目,默认为10000,0代表不限制 |
3 | debug | 是否显示更多的调试信息,默认为off |
4 | test | 指定测试项目名称 |
5 | file-total-size | 文件总大小 |
6 | file-test-mode | 文件测试模式(seqrewr,顺序读写;seqrd,顺序读;seqwr,顺序写;rndrw,随机读写;rndrd,随机读;rndwr,随机写) |
可以经过CPU、磁盘IO、内存等的指标进行对比测试一下,华为云耀云服务器L实例服务器确实要略胜一筹。