目录

主流各云平台主机性能对比

目录

主流各云平台主机性能对比

一、性能对比测试综述

选取阿里云、华为云、腾讯云、天翼云、电信云等五家云平台进行测试,参数配置为:

4 vCPU / 8G内存 网络带宽3M。

磁盘性能采用默认系统盘进行测试,系统统一选择Centos6.9版本。

包含测试项目: CPU、内存、磁盘、网络速率、Tomcat中间件、Mysql数据库等。

二、CPU性能测试

CPU性能测试采用Sysbench,其运行逻辑是采用多线程计算素数的操作来计算整型运算的性能。

Sysbench安装:最好用RPM安装,依赖ck、postgresql-libs、luajit。

命令行:sysbench –threads=4 –time=20 cpu run

(线程数参数—threads使用与CPU核心数量一致)

取结果:event per sec.表示每秒能进行多少次素数的计算。

测试结果 (单位 次/每秒):

https://i-blog.csdnimg.cn/blog_migrate/8ed16a86632afc612ce757e139ddb177.png

三、内存性能测试

内存性能测试采用Sysbench,统一测试顺序复制的性能。

命令行:sysbench –num-threads=4 –max-requests=10000 –test=memory –memory-block-size=8K –memory-total-size=100G –memory-access-mode=seq run

取结果:取结果中的(xxxxxx MiB/sec)中的数值,表示顺序复制时的性能,每秒多少M。

https://i-blog.csdnimg.cn/blog_migrate/984e9f68efa3deb734f40ffa2fc9328f.png

测试结果 (单位 MB/秒):

https://i-blog.csdnimg.cn/blog_migrate/9668fbbda481246c36ca988fc27d0f85.png

四、磁盘性能测试

磁盘性能测试采用fio,分别测试IOPS和吞吐量,只测试随机读的性能。

IOPS命令行:fio –bs=4k –ioengine=libaio –iodepth=32 –direct=1 –rw=randread –time_based –runtime=60  –refill_buffers –norandommap –randrepeat=0 –group_reporting –name=fio-randread –size=10G –filename=/dev/vda

IOPS取结果:下图中划红框的值。

https://i-blog.csdnimg.cn/blog_migrate/4b7c54f10380966af8921fee2122318c.png

吞吐量命令行:fio –bs=128k –ioengine=libaio –iodepth=32 –direct=1 –rw=randread –time_based –runtime=60  –refill_buffers –norandommap –randrepeat=0 –group_reporting –name=fio-randread –size=10G –filename=/dev/vda

吞吐量取结果:下图中划红框的值:

https://i-blog.csdnimg.cn/blog_migrate/08b002a547589f7662eb015497514125.png

磁盘IOPS测试结果 (单位:次/每秒):

https://i-blog.csdnimg.cn/blog_migrate/d72f7cb720df43d224585fa11a22b576.png

磁盘吞吐量测试结果(单位: MB/s):

https://i-blog.csdnimg.cn/blog_migrate/6ae2ac4cdb47eec88e0df06ca8c3d872.png

五、网络速率测试

网络速率分为公网ping时延和文件上传下载时延,分别采用ping和lrzsz工具进行测试。(注:此项测试由于笔者使用移动宽带,测试结果可能不准确,建议参考过程自行测试)

公网时延命令行: 在本机电脑使用ping xxxxxx -t

文件上传下载时延命令行: 在服务器上使用rz 文件名和sz 文件名分别进行上传和下载。需要先安装:yum install lrzsz。

公网ping时延结果(单位 毫秒):

https://i-blog.csdnimg.cn/blog_migrate/81c2410f6ff40c8481cf6c501b04eb90.png

文件上传时延结果 (单位 KB/S):

https://i-blog.csdnimg.cn/blog_migrate/605d8e1df0f187e7d5214de0dc9d9e0f.png

文件下载时延结果 (单位 KB/S):

https://i-blog.csdnimg.cn/blog_migrate/3edae577aff1f9b353c1c558e7a65bec.png

六、Tomcat中间件性能测试

此项测试中,编写一个简单的Java 程序,逻辑为往数据库中写入一条数据,并且把表总记录数查出来返回到前台,每次测试前,清空表,数据库mysql。

压力发起端使用JMeter,参数:线程组并发数100,持续90秒。注意这里单独用另外一台Windows的服务器来测试,带宽10M。

取结果:分别取平均响应时间avg和吞吐量TPS

平均响应时间测试结果 (单位 毫秒):

https://i-blog.csdnimg.cn/blog_migrate/9e86cf2d78546dfea08038cd566599a9.png

吞吐量TPS测试结果 (单位 次/秒):

https://i-blog.csdnimg.cn/blog_migrate/d44a5616efa2d3bed55844f523190dc7.png

七、数据库性能测试

此项测试使用默认安装的mysql5.1版本,表引擎默认MYISAM。测试工具使用sysbench,它会自己造测试数据,并进行测试,分别取TPS和QPS两个结果。(TPS表示每秒能处理多少个带事务的请求,简单理解为插入删除修改,QPS表示每秒能处理多少个查询请求)

(这里每个平台统一都采用本机发起压力,条件允许可以在每个平台单独建一台内网机器来发起压力,屏蔽网络因素。)

造数据命令行:sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua –mysql-host=localhost –mysql-port=3306 –mysql-user=root –mysql-password=XXXXXXX –oltp-test-mode=complex –oltp-tables-count=10 –oltp-table-size=100000 –threads=10 –time=120 –report-interval=10 prepare

测试数据命令行:sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua –mysql-host=localhost –mysql-port=3306 –mysql-user=root –mysql-password= XXXXXXX –oltp-test-mode=complex –oltp-tables-count=10 –oltp-table-size=100000 –threads=10 –time=120 –report-interval=10 run » /opt/mysysbench_test.log

清理数据命令行:sysbench /usr/share/sysbench/tests/include/oltp_legacy/oltp.lua –mysql-host=localhost –mysql-port=3306 –mysql-user=root –mysql-password= XXXXXXX cleanup

TPS测试结果 (单位 次/秒):

https://i-blog.csdnimg.cn/blog_migrate/35ba702ec8da1ff2cbebb7a225988b15.png

QPS测试结果 (单位 次/秒):

https://i-blog.csdnimg.cn/blog_migrate/74d550eac2f23a02d7857717c4658074.png

Word版本下载地址: