管理测试机器的使用效率
来源:互联网 发布:网络兼职小说录入 编辑:程序博客网 时间:2024/06/07 06:11
伴随着业务测试的开展,测试使用的机器逐渐增加:性能测试、全网回归、部署测试工具的机器等。当测试机器的规模逐步增加,达到上百台甚至上千台时,如何对这些机器进行有效的利用就面临着诸多挑战:
- 机器已申请,但长期未使用
- 机器处于使用状态,但资源浪费严重
- 部门整体的资源使用率无法估量
我们提出了机器利用率这个概念,来对机器的使用情况进行计算、统计和分类,提供直接有效的数据给各Owner,以期对机器的使用情况进行优化。
机器利用率是什么
机器的利用率是对一台机器的资源的使用情况的一个评价值。
目前,我们对机器资源的定义主要包含了以下四个百分比指标。
- cpu利用率
- load / (CPU核数+1)
- 物理内存使用率
- 网络流量
对以上四个指标按照如下算法进行计算,得到的百分比即为机器利用率。
Usagecurrent = Max(CPU, LOAD,MEM,NET)
根据木桶原理,最紧缺的资源决定了机器的总体利用水平, 即对四个百分比指标,取最大值,即可描述机器的利用率。
此时,我们得到的机器利用还仅仅是某一个时刻的利用率数值。由于机器的使用存在周期性,比如工作日与非工作日等,这里我们将过去两周的利用率数据进行算术平均,计算出综合利用率,用来描述机器过去两周内的综合利用率。
收集利用率数据
目前,淘宝的测试机器(包含虚拟机)已达到1000+,要管理如此规模的机器,我们需要借助工具来收集数据。
开源工具 cacti 能够稳定,及时,高效的完成这项任务。
使用cacti收集到的数据多而杂,还需要从cacti中对导出数据,提纯数据,去除无效数据,并进行汇总、入库。目前kelude使用定时任务执行工具脚本来完成这项工作。
测试环境利用率分析
从大量的机器上收集到海量的数据之后,我们就可以结合组织架构、时间、机器分类等维度来进行更详细的分析,并将这些分析后数据通过WEB 展现给用户。
按组织架构
结合组织架构,结算各部门的测试机器的总体利用程度。
按机器用途
按机器的使用方式划分,促进集群优化
按时间
按时间组织,体现机器的单台机器的长期使用情况,帮助使用者落实机器使用优化措施。
机器利用率相关的部署图
转载:http://www.taobaotest.com/blogs/2367
- 管理测试机器的使用效率
- 人的效率还是机器的效率?
- 测试程序的效率
- OMP的效率测试
- 锁的效率测试
- 不使用cfind类的搜索文件--效率待测试
- 实例测试Mysql使用索引带来的效率提升
- Java反射的效率测试-优先使用FastMethod
- Unity中直接使用transform和gameObject的效率测试
- Singleton(单例模式)的使用和测试效率
- GDI+命中测试的效率
- C++异常效率的测试
- InMemeryWorkspace的效率测试结果
- 虚拟机,提高测试的效率
- UFT的使用之测试对象管理
- 多核机器上提高make的效率
- 使用反射执行效率测试-1
- 使用CocoaPods管理第三方类库[效率]
- Linux_多核系统下绑定进程或线程到指定CPU_核执行和调优
- 时域、频域、空间域
- 归并排序原理
- .NET多线程同步方法详解
- TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)
- 管理测试机器的使用效率
- 通过计算的方式取某数的符号
- Android Intent调用大全、系统自带Intent调用大全
- 全面总结Java泛型
- 关于低分辨率机器使用source insight的时候,注释斜体看不清的解决方法
- 扩展 DataSet 的 ToString() 方法
- 黑马程序员-字符串操作-学习笔记
- 容器
- jquery实现报表点击表头排序