oss客户端工具_十二款用于自主云评测的开源工具

4e589dff3c29fb0a9832cf66f01652a7.png

马上年底了,各种云评测陆续放了出来,最近看到有一些评测也引起了争议,第三方评测数据可以作为参考,真正要使用云,将业务放到云上,还是要自己来做一些评测,一方面自己跑的数据可信,一方面自己最了解业务需求,知道测试的时候应该重点关注那些指标。云评测的三个阶段
云在使用之前应该经过三个评测阶段,性能评测、网络质量评测、业务评测。1.性能测试
性能评测主要关注云服务的性能,比如云主机的CPU、磁盘、网络性能,RDS、负载均衡、S3等服务的性能。客观的说,因为每一个朵云可用区域上线的时间不一样,搭建云的物理机配置可能也会不同,所以性能多少都会有差异。另外,因为云厂商的能力不同,有的云厂商软件版本也会不一致,造成性能也会有差异。尽管云厂商在上线之前都会做严格的性能测试,但是云厂商一般是基准测试,并且不会公布详细的数据,所以作为云的使用者应该通过自己评测,做到心中有数。2.网络质量评测
云的一个特性就是基于网络,所以放到云上的业务大多也都是基于网络的,所以对云的网络质量评测很重要。另外要注意,网络质量是动态变化的,所以对云的网络质量评测在使用之前要评测,在使用过程中也要长期持续的监控。3.业务评测
业务上线之前,应尽可能全面的对云系统是否能满足业务进行评测,尽可能的模拟各种业务场景,确保在各种极端情况下,云系统能满足业务的需求。一般在流程比较完善的组织内部,都会有严格的业务测试流程,但是要注意如果之前的流程是在非云环境,要结合云环境进行相应的调整。云评测都可以使用那些工具
云评测可以使用的工具很多,因为在云上一般使用Linux居多,本文介绍的工具侧重Linux系统,并且以开源工具为主。1.Super Pi
网址:http://www.superpi.net/
Super Pi是一个单线程基准测试,可以计算特定位数的Pi。使用Gauss-Legendre算法,是测试纯单线程x86浮点性能的理想选择。
Super Pi是免费软件,可以随意下载分发,在Super PI网站上提供常见硬件的Pi计数得分,方便对比。

d3a86faec7a54b5d81e2c69766600996.png
图1:Super Pi网站上的常见硬件Pi计数得分


注意Super Pi是单线程的,不能用于多线程的CPU测试,通常用于粗略比较CPU计算能力,CPU测试衡量指标比较多,建议CPU测试侧重基于业务压力的测试。2.FIO
源代码网址:https://github.com/axboe/fio
二进制下载网址:http://freshmeat.sourceforge.net/projects/fio
FIO作者是Jens Axboe,是一款I/O测试工具,用于基准测试和压力/硬件验证。支持19种不同类型的I/O引擎(sync,mmap,libaio,posixaio,SG v3,splice,null,network,syslet,guasi,solarisaio等),支持多线程作业,可以在块设备和文件上工作,FIO是测试IOPS的利器,同时支持Windows系统和Linux系统。

37f49ccb9ca80d7f53607581222d6f82.png
图2:reshmeat.sourceforge.net网站上的FIO截图

3.IOzone
网址:http://iozone.org/
IOzone是一个文件系统基准测试工具,支持测试各种文件系统。IOzone支持多线程,支持同步或异步I/O读写模式,IOzone还有一个特点是支持测试结果生成图片,方便直观的看到结果。

997db72ebe7d183adf11d403230f3388.png
图3:IOzone网站上IOzone自动生成的图片

4.dd命令
dd是系统自带命令,不用特别安装,使用dd命令可以快速判断磁盘io性能。如果源是磁盘,目标是/dev/null,可以初步判断磁盘读性能;如果源是/dev/zero,目标是磁盘,可以初步判断磁盘写性能。dd缺点是只能测试顺序读写,不能测试随机读写性能。5.iometer
网址:http://www.iometer.org
Iometer常用于磁盘I/O测试,是用于单个和集群系统的I/O子系统测测试工具。最初由英特尔公司开发,并将其交给开源开发实验室(OSDL)。

a6bfb30677ef6fde8b578ecbde6240d8.png
图4:Iometer网站上的截图


Iometer 包含了两个程序,Iometer 和 Dynamo。Iometer 是控制程序,可以设置操作参数,启动和停止测试。Dynamo 是负载生成器。Iometer支持Windows系统和Linux系统I/O测试。6.iPerf/iPerf3
网址:https://iperf.fr/
iPerf 是一个网络性能测试工具,可以测试TCP和UDP带宽质量,具有多种参数和UDP特性。iPerf可以报告带宽,延迟抖动和数据包丢失。
iPerf支持常见的操作系统。

5da78ed4abc60fd56c0f62a2c82ef783.png
图5:iPerf支持的系统

7.Netperf
网址:https://hewlettpackard.github.io/netperf/
Netperf最初是由惠普开发的,用于衡量许多不同类型网络的性能。提供单向吞吐量和端到端延迟的测试。Netperf基于C/S模式的,服务器端是netserver,用来侦听来自客户端的连接,客户端是netperf。在服务器端和客户端之间,建立控制连接,传递测试配置的信息,以及测试的结果。Netperf提供了许多预定义的测试,例如 测量批量(单向)数据传输或请求响应性能。Netperf根据应用的不同,可以进行不同模式的网络性能测试,8.ping、traceroute、mtr
ping、traceroute、mtr是系统自带命令,可用于测试网络质量,特别是mtr命令可以连续测试。

6f5fe80875b6490e433c25eeacacce2e.png
图6:mtr运行截图


但是命令行不能或者不方便长期进行网络质量测试。9.smokeping
网址:https://oss.oetiker.ch/smokeping

bc97bcd5fa925d11685b578e50b2f11c.png
图7:oss.oetiker.chr网站上smokeing的截图

SmokePing由Perl编写的免费和开源软件,由MRTG和RRDtool的创建者Tobi Oetiker编写,能可视化的长期跟踪网络质量,使用浏览器交互式图形展现,支持分布式部署,可以配置报警,并且支持插件。10.ApacheBench
ApacheBench(ab)是一个单线程命令行计算机程序,用于测量HTTP Web服务器的性能。最初设计用于测试Apache HTTP Server,通用于测试任何Web服务器。
ApacheBench与标准Apache源代码分发捆绑在一起,与Apache Web服务器本身一样,是免费的开源软件,并根据Apache许可证的条款进行分发。11.SysBench
sysbench是一个基于LuaJIT的可编写脚本的多线程基准测试工具。 它最常用于数据库基准测试,但也可用于创建不涉及数据库服务器的任意复杂工作负载。
sysbench特性如下:

  • 支持系统基准测试;
  • 统计有关速率和延迟的广泛数据,包括百分比和直方图;
  • 通过在用户提供的Lua脚本中实现预定义的钩子,可以轻松创建新的基准测试;
  • 支持POSIX线程性能测试;
  • 支持数据库OLTP基准测试;
  • 能够每秒生成和跟踪数亿个事件。

12.Zabbix

23721a392c3100e7be25e981173805b5.png
图8:zabbix网站上Zabbix运行截图

Zabbix是目前流行的开源监控工具,支持常见操作系统,支持网络设备,配置灵活,支持自定义指标的监控,支持多种报警方式。
Zabbix很适合长期对云的性能监控,也可以和性能测试工具联动,可视化的展现测试结果。
自主云评测是必须掌握的技能
测试之前,首先需要理解被测试的指标,开源工具的使用一般都有些门槛,需要多研究和实战。上面介绍的开源工具基本都支持命令行,可以写成脚本,方便日常使用,也可以结合自己的运维场景,尽量将常用场景的测试自动化。
由于云环境复杂,并且可能每个业务场景对云的要求也不一样,使用云之前需要对云进行从性能到网络、再到业务的全面评测,做到心中有底,才能避免业务发生问题。随着业务压力增加,由于有详细的数据,也能做到心中有数,让对云的使用尽在把握中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值