十二、云服务器压测:

服务器压测可以选择工具sysbench,它可以模拟几千个线程并发的访问实例。作为一款广泛使用的开源模块化的、跨平台、多线程基准测试工具,sysbench主要用于评估服务器系统在不同负载条件下的性能表现。

sysbench具有简单易用性、高度灵活性、强大功能等特点,由主要我们来快速评估系统的性能,并发现潜在的瓶颈和优化计划,不管是CPU、磁盘IO,甚至是访问数据库压测,可以模拟使用各种各样的SQL语句,模拟出来各种事务提交,模拟出几十万的TPS去压测数据库。

1. sysbench是什么?

sysbench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况,主要包括以下几种方式的基准测试:

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_服务器

2. 安装sysbench:

# 安装sysbench
sudo apt-get install sysbench -y
# 查看sysbench版本
sysbench --version

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_测试命令_02

3. 测试比对机器:

以下为国内某云同样的2核2G的云服务器配置,下面进行的测试就是将华为云耀云服务器L实例的相同的配置,进行一下CPU、磁盘IO、内存等的指标进行对比测试一下。

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_基准测试_03

华为云耀云服务器L实例服务器配置信息:

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_服务器_04

4. CPU的基准测试:

4.1 测试说明:

  • 对CPU的性能测试通常有2种,分别为算质数、算圆周率等。
  • sysbench是使用质数相加的测试,对CPU测试直接运行run即可。

4.2 测试命令:

sysbench --num-threads=12 --max-requests=10000 --debug=on --test=cpu --cpu-max-prime=20000 run


4.3 测试结果比较:

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_测试命令_05

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_测试命令_06

5. thread的基准测试:

5.1 测试说明:

测试线程调度的性能,用于高负载下的线程性能测试。

5.2 测试命令:

sysbench --num-threads=12 --max-requests=10000 --test=threads --thread-yields=100 --thread-locks=2 run


5.3 测试结果比较:

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_测试命令_07

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_服务器_08

6. memory的基准测试:

6.1 测试说明:

  • 内存分配测试,主要针对不同的块大小进行内存的连续读写或者随机读写测试。
  • 可以分别测试8K和16K的顺序和随机分配。
  • 以8K顺序分配为例。

6.2 测试命令:

sysbench --num-threads=12 --max-requests=10000 --test=memory --memory-block-size=8K --memory-total-size=100G --memory-access-mode=seq run

6.3 测试结果比较:

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_测试命令_09

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_服务器_10

7. IO的基准测试:

7.1 测试说明:

  • 文件IO的测试,用于测试IO负载性能。
  • 需要测试6种模式下的IO负载性能,以随机读写模式为例。

7.2 测试命令:

# 生成测试数据
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

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_测试命令_11

参数解析

序号

参数

说明

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,随机写)

7.3 测试结果比较:

华为云云耀云服务器L实例评测|企业项目最佳实践之压测 (十一)_测试命令_12

8. 小结:

  • 内存,随机分配比顺序分配速度快,块分配越大速度越快。
  • 磁盘,顺序写比随机写快,顺序读比随机读慢,顺序读写比随机读写快,针对不同的服务器,可考虑用不同的读写模式已提升IO性能。

可以经过CPU、磁盘IO、内存等的指标进行对比测试一下,华为云耀云服务器L实例服务器确实要略胜一筹。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: 服务器