本文已参与「新人创作礼」活动,一起开启掘金创作之路。
阿里云官方不同应用场景推荐
1.阿里云 C5实例族介绍,引用官方文档
计算型实例规格族c5 c5的特点如下:
-
计算:
-
处理器与内存配比为1:2
-
处理器:2.5 GHz主频的Intel ® Xeon ® Platinum 8163(Skylake)或者8269CY(Cascade Lake),计算性能稳定
说明 该规格族的实例有可能部署在不同的服务器平台,如果您的业务需要将实例部署在同一服务器平台,建议您选用c6、c6e、c7。
-
-
存储:
- I/O优化实例
- 支持ESSD云盘、SSD云盘和高效云盘
说明 不同实例规格族的云盘性能上限不同,本规格族的单台实例最高支持20万IOPS
-
网络:
- 支持IPv6
- 超高网络PPS收发包能力
- 实例网络性能与计算规格对应(规格越高网络性能越强)
-
适用场景:
- 高网络包收发场景,例如视频弹幕、电信业务转发等
- Web前端服务器
- 大型多人在线游戏(MMO)前端
- 数据分析、批量计算、视频编码
- 高性能科学和工程应用 c5包括的实例规格及指标数据如下表所示
实例规格 | vCPU | 内存 | 网络带宽(Gbit/s) | 网络收发包PPS | 多队列 | 弹性网卡 | 单网卡私有IP |
---|---|---|---|---|---|---|---|
ecs.c5.large | 2 | 4 | 1 | 30万 | 2 | 2 | 6 |
2.型号总结:
Aliyun ecs.c5.large 高效云盘版 | |||
---|---|---|---|
CPU型号 | 2.5 GH主频的Intel ® Xeon ® Platinum 8163(Skylake)或者8269CY(Cascade Lake) | ||
vCPU | 2 | 2 | 2 |
内存 | 4G | 4G | 4G |
网络带宽(Gbit/s) | 1Gbps | ||
块存储带宽 | 高效云盘最高140Mbps |
三、性能测试
## 1.CPU测试 **GeekBench 5 对实例进行测试**这里采用阿里云 Aliyun ecs.c5.large 高效云盘版 进行测试
A.本次测试采集到测试对象的CPU型号如下
实例 | CPU型号 |
---|---|
Aliyun ecs.c5.large | Intel Xeon Platinum 8163 @ 2.50 GHz 1 Processor, 1 Core, 2 Threads |
B.测试命令如下:
sudo wget https://cdn.geekbench.com/Geekbench-5.4.1-Linux.tar.gz
tar xf Geekbench-5.4.1-Linux.tar.gz
cd Geekbench-5.4.1-Linux
./geekbench5
C.测试结果如下
①.Aliyun ecs.c5.large
Intel Xeon Platinum 8163 @ 2.50 GHz 1 Processor, 1 Core, 2 Threads
-
Geekbench5 检测系统信息
-
单核测试项目
-
多核测试项目
-
测试结果链接
-
测试结果图
2.块存储性能测试
1.hdparm测试硬盘性能
显示硬盘的相关信息
# hdparm /dev/vda
评估硬盘的读取效率
# hdparm -t /dev/vda
测试硬盘缓存的读取速度
# hdparm -T /dev/vda
直接测试硬盘的读性能
# hdparm -tT --direct /dev/vda
查看DMA情况
# hdparm -cdt /dev/vda
2.使用dd命令对磁盘进行性能测试
dd测试脚本
[root@sh-host ~]# cat disk.sh
echo "test 10G"
time sh -c "dd if=/dev/zero of=./ddfile bs=1M count=10240 oflag=direct && sync";
rm ./ddfile;
echo "test 1G/1M"
time sh -c "dd if=/dev/zero of=./ddfile bs=1M count=1024 oflag=direct && sync";
rm ./ddfile;
echo "test 1G/512K"
time sh -c "dd if=/dev/zero of=./ddfile bs=512k count=2048 oflag=direct && sync";
rm ./ddfile;
echo "test 1G/256K"
time sh -c "dd if=/dev/zero of=./ddfile bs=256k count=4096 oflag=direct && sync";
rm ./ddfile;
echo "test 1G/256K"
time sh -c "dd if=/dev/zero of=./ddfile bs=256k count=8192 oflag=direct && sync";
rm ./ddfile;
echo "test 1G/4K"
time sh -c "dd if=/dev/zero of=./ddfile bs=4k count=262144 oflag=direct && sync";
rm ./ddfile;
dd测试结果如下
阿里云 EBS 高效云盘 20G
[root@sh-host ~]# bash disk.sh
test 10G
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 99.4206 s, 108 MB/s
real 1m39.440s
user 0m0.028s
sys 0m1.916s
test 1G/1M
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 9.9211 s, 108 MB/s
real 0m9.942s
user 0m0.003s
sys 0m0.206s
test 1G/512K
2048+0 records in
2048+0 records out
1073741824 bytes (1.1 GB) copied, 9.93499 s, 108 MB/s
real 0m9.955s
user 0m0.003s
sys 0m0.221s
test 1G/256K
4096+0 records in
4096+0 records out
1073741824 bytes (1.1 GB) copied, 9.90859 s, 108 MB/s
real 0m9.927s
user 0m0.006s
sys 0m0.256s
test 1G/256K
8192+0 records in
8192+0 records out
2147483648 bytes (2.1 GB) copied, 19.87 s, 108 MB/s
real 0m19.889s
user 0m0.014s
sys 0m0.496s
test 1G/4K
262144+0 records in
262144+0 records out
1073741824 bytes (1.1 GB) copied, 132.547 s, 8.1 MB/s
real 2m12.565s
user 0m0.284s
sys 0m6.281s
[root@sh-host ~]#
3.Fio工具测试硬盘
官方文档测试指定测试工具--- FIO 这里查阅阿里云提供的文档,明确使用fio工具进行云盘的基准测试
操作步骤
1.远程连接ECS实例
采用SecureCRT进行连接
2.查询块存储设备是否已经4KiB对齐
sudo fdisk -lu
返回的结果中,Start值能被8整除即是4KiB对齐。否则,请完成4KiB对齐后再继续性能测试。
3.依次运行以下命令安装libaio和FIO。
sudo yum install libaio -y
sudo yum install libaio-devel -y
sudo yum install fio -y
4.对硬盘进行分区和格式化。 磁盘分区示例,这里仅作演示,禁止盲从跟敲代码
-
使用fdisk查看挂载的磁盘
-
fdisk 对磁盘进行分区
-
fdisl -l 查看分区结果
-
使用 mkfs 对磁盘进行格式化
-
使用lsblk查看
云盘性能测试命令
说明 本示例中,使用的设备名为 /dev/your_device,请您根据实际情况替换。例如需要测试的云盘为 /dev/vdb ,则将以下示例命令中的 /dev/your_device 替换为 /dev/vdb
随机写IOPS:
fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/your_device -name=Rand_Write_Testing
阿里云 高效云盘
随机读IOPS:
fio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/your_device -name=Rand_Read_Testing
阿里云 高效云盘
顺序写吞吐量:
fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/your_device -name=Write_PPS_Testing
阿里云 高效云盘
顺序读吞吐量:
fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/your_device -name=Read_PPS_Testing
阿里云 高效云盘
随机写时延:
fio -direct=1 -iodepth=1 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=/dev/your_device -name=Rand_Write_Latency_Testing
阿里云 高效云盘
随机读时延:
fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -group_reporting -filename=/dev/your_device -name=Rand_Read_Latency_Testing
阿里云 高效云盘
以下命令可执行 16 KB 随机写入操作。
sudo fio --filename=/dev/your_device --ioengine=psync --name fio_test_file --direct=1 --rw=randwrite --bs=16k --size=1G --numjobs=16 --time_based --runtime=180 --group_reporting --norandommap
阿里云 高效云盘
以下命令可执行 16 KB 随机读取操作。
sudo fio --filename=/dev/your_device --name fio_test_file --direct=1 --rw=randread --bs=16k --size=1G --numjobs=16 --time_based --runtime=180 --group_reporting --norandommap
阿里云 高效云盘
以下命令执行 1 MiB 的顺序读取操作:
sudo fio --filename=/dev/<device> --direct=1 --rw=read --randrepeat=0 --ioengine=libaio --bs=1024k --iodepth=8 --time_based=1 --runtime=180 --name=fio_direct_read_test
阿里云 高效云盘
以下命令针对块储存设备执行 1 MiB 的顺序写入操作:
sudo fio --filename=/dev/<device> --direct=1 --rw=write --randrepeat=0 --ioengine=libaio --bs=1024k --iodepth=8 --time_based=1 --runtime=180 --name=fio_direct_write_test
阿里云 高效云盘
3.内存性能测试
查看内存信息
内存写入、读取测试
# time sh -c "dd if=/dev/zero of=/dev/shm/fill bs=1M count=10240" #写入测试
# time sh -c "dd if=/dev/shm/fill of=/dev/null bs=1M count=10240" #读取测试