测试目的
研究多种部署型态(1. 裸金属 2.虚拟机 3.容器)对应用的性能影响,
分析性能瓶颈,为进一步优化性能提供数据支持
一、 测试内容
1. CPU
2. 内存
3. 磁盘
4. 网络
5. mysql
6. redis
二、 性能测试方案
1. 性能指标
(1)基准测试指标
CPU
指标:计算任务的时钟周期
CPU的峰值算力主要是从以下几个方面考虑:FMA乘加运算(*2)、Turbo frequency(超频)、CPI(cycle per instruction 每条指令所需的周期数)、CPU core、SIMD(以同步方式,在同一时间内执行同一条指令。)
CPU整数运算峰值性能
CPU浮点运算峰值性能
理论浮点峰值=CPU主频×CPU每个时钟周期执行浮点运算次数×CPU数量。
内存
内存峰值带宽
理论内存带宽计算公式:带宽=内存时钟频率×内存总线位数×倍增系数/8
随机读写速度
连续读写速度
磁盘
IOPS(每秒 IO 操作数)
吞吐量(每秒 IO 大小)
顺序读写速度
随机读写速度
(2)负载测试指标
还没写
2. 测试环境准备
- 测试裸金属主机准备
- 虚拟机环境选型
- docker环境选型
- 操作系统选型
- 测试机与被测机部署以及交互方式确定
3.相关基准测试工具准备
唯一变量:系统的部署型态
虚拟机、容器均部署在同一台物理机上
CPU
CPU计算性能
cpu:频率、缓存容量、工作电压相同
测试工具:linpack、压缩算法、排序算法
高性能计算集群的浮点运算能力测试基准。
Linpack现在在国际上已经成为最流行的用于测试高性能计算机系统浮点性能的benchmark。通过利用高性能计算机,用高斯消元法求解N元一次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。
内存
测试工具:stream
STREAM软件是内存带宽性能测试的基准工具,也是衡量服务器内存性能指标的通用工具。
磁盘
测试工具:FIO
参数:
- 单次块文件大小
- 随机/顺序比例
- 读/写比例
测试报告参数
io=执行了多少M的IO
bw=平均IO带宽
iops=IOPS
runt=线程运行时间
slat=提交延迟
clat=完成延迟
lat=响应时间
bw=带宽
cpu=利用率
IO depths=io队列
IO submit=单个IO提交要提交的IO数
IO complete=Like the above submit number, but for completions instead.
IO issued=The number of read/write requests issued, and how many of them were short.
IO latencies=IO完延迟的分布
io=总共执行了多少size的IO
aggrb=group总带宽
minb=最小.平均带宽.
maxb=最大平均带宽.
mint=group中线程的最短运行时间.
maxt=group中线程的最长运行时间.
ios=所有group总共执行的IO数.
merge=总共发生的IO合并数.
ticks=Number of ticks we kept the disk busy.
io_queue=花费在队列上的总共时间.
util=磁盘利用率
Mysql
SysBench oltp
四、 设计详细方案
先对某一个指标做一个初步的实验测试后再定。
五、 测试数据分析