51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 825|回复: 0
打印 上一主题 下一主题

被测环境检查中如何有效的提高性能测试的效率!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-10-9 16:26:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 草帽路飞UU 于 2022-10-9 16:40 编辑

性能测试中,经常发现测试结果和预期差异很大,根据个人经验,大约50%的情况下是测试环境并没有校准到生产配置,甚至生产环境也是配置错误,导致系统性能的低下。因此,被测环境的检查是非常值

得投入的一件事。前期花3个小时做检查,后期减少几天的排查和扯皮,划算!

  环境的检查包含:

  · 硬件资源配置检查

  · 操作系统检查

  · 系统软件检查

  · 应用配置检查

  · 系统资源情况检查

  · 业务检查

  这里分别简单介绍一下,各个检查环节主要检查什么,为什么他们影响性能。

  一、 硬件资源配置检查

  目的是了解清楚测试环境硬件配置和生产环境的差异,如果是虚拟化环境,需清楚的了解底层Hypervisor给操作系统提供的实际资源能力是多少。而不是虚出来的那个能力。

  CPU:Power平台上检查EC(标称计算能力)、VP(虚拟CPU个数)、SMP等参数。X86上检查保障的Hz值。

  内存资源配置:X86上格外检查保障的内存值,该值是Hypervisor一层设置。

  检查磁盘空间:预估数据量,关注磁盘空间是否满足测试数据量的要求。需要关注每个文件系统,df命令查看所有挂载的文件系统,关注增长量较大的文件系统(如:用于写日志的文件系统)是否满足测


试需要。关注数据库的表空间是否支撑目标业务量。

  二、 操作系统检查

  1) 检查操作系统版本和补丁版本

  操作系统版本不同,性能自然会有差异。并且需要关注操作系统的小版本,以及打补丁的情况。小版本一般很少有人在意,因为影响较小。但在常年的性能测试中,偶尔也会遇到操作系统、系统软件的


bug,有时还是自己帮厂商发现的。

  2) 操作系统参数

  一些需要注意的系统参数。

  如果这次测试关注网络情况,那么操作系统上网络相关的参数是不是就需要额外校准一下?网络相关的maxmbuf,MTU,rfc1323,tcp_nodelay,tcp_recvspace,tcp_sendspace等等。

  如果这次测试关注CPU利用率,那么操作系统上CPU相关的参数是不是就需要额外校准一下?例如关注微分区环境下的vpm_xvcpus、处理器折叠(Processor Folding)等等。

  三、 系统软件检查

  系统软件包括交易中间件、应用中间件、消息中间件、数据库、BI等等,也就是说,不是自己写的应用,而是一些通用的软件产品。检查他们的版本、运行状态和各类参数配置。

  之所以检查他们,是因为他们是系统性能体系的一部分,他们承载了应用程序。“系统软件配置不得当”占所有“环境配置不得当”至少30%,这其中数据库的参数配置对性能的影响最大,需要检查的点


也最多,后续我还会专门介绍数据库的性能测试检查。

  四、 应用配置检查

  版本和各类参数,尤其是并发进程数、日志级别、检查级别、开关。

  确保测试环境的应用配置与生产一致,或者其配置是符合测试环境特点的。

  并发进程数:测试环境和生产环境的CPU资源不一样,那么测试环境的并发进程数可能不需要设置那么高,太高了反而影响系统性能(尤其是涉及到数据库资源争用的情况)。

  日志级别:是应用程序最影响性能的参数之一。较高的日志级别对处理效率是上一个数量级的影响。

  检查级别:有些应用程序设置检查级别。即应用自身判断、检查业务正确性的设置。检查级别高,则检查的项目越多、越严格。较高的检查级别对处理效率也是上一个数量级的影响。

  五、 系统资源情况检查

  这里的系统资源检查和最上面介绍的系统资源配置检查并不相同。资源配置检查是静态地看总量,而这里的系统资源利用情况检查指的是,测试之前关注CPU、网络等资源使用情况,确保没有其他占用资


源的业务在运行。否则,测试结果不准确。

  1)CPU利用率的检查

  操作系统在没有大作业工作时,CPU的user和kern一般在1%左右,而idle空闲一般在97%、98%左右。如果CPU利用率明显偏大,需等这个作业完成后才能进行性能测试,如果等不到结束,kill也是一个


选择


  2)网络相关检查

  检查网络的响应时间是否可以支撑性能测试的业务量

  网络响应时间是指终端发起到源端的连接请求,到收到源端的回复所需要的时间。可用ping命令来测试网络的响应时间,Ping 命令的echo request/reply 一次往返所花费的时间即为响应时间。

  有很多因素会影响到响应时间,如网络负荷,网络主机的负荷,网络的带宽,网络设备的负荷等等。

  若是过程中出现大延迟的数据包,甚至偶尔的丢包现象,则说明该网络抖动程度较大,网络性能不佳。

  如果存在网络抖动,同样会影响系统性能。例如:

  ping xxx.xxx –t  

  Ping xxx.xxx with 32 bytes of data


  Reply from 123.125.114.144: bytes=32 time=0ms TTL=50


  Reply from 123.125.114.144: bytes=32 time=1ms TTL=50


  Reply from 123.125.114.144: bytes=32 time=0ms TTL=50


  Reply from 123.125.114.144: bytes=32 time=0ms TTL=50


  Reply from 123.125.114.144: bytes=32 time=0ms TTL=50


  Reply from 123.125.114.144: bytes=32 time=47ms TTL=50


  Reply from 123.125.114.144: bytes=32 time=0ms TTL=50


  Reply from 123.125.114.144: bytes=32 time=0ms TTL=50


  Reply from 123.125.114.144: bytes=32 time=1ms TTL=50


  Reply from 123.125.114.144: bytes=32 time=0ms TTL=50




  局域网中,绝大多数延时都是0-1毫秒,而中间总是掺杂着几十毫秒(47ms)的抖动。这类网络情况在高吞吐量的性能测试当中,会严重影响业务的响应时间(如果一个业务的链条比较长的话)。因为,


对于最求性能极致的系统,响应时间都是以毫秒计算的,一个业务才几十毫秒,如果10个tcp网络报文中有一个遇到几十毫秒(47ms)的抖动,就会明显拉长了业务的响应时间。

  六、 业务检查

  业务检查包括业务的类型、系统日期、所处的状态、业务是否会重账。

  业务检查的目的是确保每一次的测试都可以业务处理正常,而不至于出现因为业务报错而测试作废的情况。

  以上,是被测环境的检查,磨刀不误砍柴工,大概就是这个意思。





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 18:15 , Processed in 0.065525 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表