阿里云C5.large测评--CPU,内存测试

169 阅读6分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

阿里云官方不同应用场景推荐

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.large24130万226

image.png

2.型号总结:

Aliyun ecs.c5.large 高效云盘版
CPU型号2.5 GH主频的Intel ® Xeon ® Platinum 8163(Skylake)或者8269CY(Cascade Lake)
vCPU222
内存4G4G4G
网络带宽(Gbit/s)1Gbps
块存储带宽高效云盘最高140Mbps

三、性能测试

## 1.CPU测试 **GeekBench 5 对实例进行测试**

这里采用阿里云 Aliyun ecs.c5.large 高效云盘版 进行测试

A.本次测试采集到测试对象的CPU型号如下

实例CPU型号
Aliyun ecs.c5.largeIntel 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 检测系统信息 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进行连接 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.对硬盘进行分区和格式化。 磁盘分区示例,这里仅作演示,禁止盲从跟敲代码

  1. 使用fdisk查看挂载的磁盘 CheckDisk

  2. fdisk 对磁盘进行分区 FdiskPart

  3. fdisl -l 查看分区结果 CheckResult

  4. 使用 mkfs 对磁盘进行格式化 UseMkfs

  5. 使用lsblk查看 LsblkCheck

云盘性能测试命令

说明 本示例中,使用的设备名为 /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

阿里云 高效云盘 Aliyun ECS

随机读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

阿里云 高效云盘 Aliyun

顺序读吞吐量:

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

阿里云 高效云盘 Aliyun

随机写时延:

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

阿里云 高效云盘 Aliyun

随机读时延:

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

阿里云 高效云盘 Aliyun

以下命令可执行 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

阿里云 高效云盘 Aliyun

以下命令可执行 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

阿里云 高效云盘 Aliyun

以下命令执行 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

阿里云 高效云盘 Aliyun

以下命令针对块储存设备执行 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 

阿里云 高效云盘 Aliyun

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"  #读取测试

dd测试内存