八、网络分析
1)网络路由
通常为了排除网络型瓶颈,通常建议在局域网下进行测试
通常,这里的分析思路是这样:
<1> 检查hosts文件的配置
从终端压测机(负载生成机)开始,到请求目的服务器,机器的hosts文件配置
通常,hosts文件位于如下:
Windows:C:\Windows\System32\drivers\etc\hosts
Unix/Linux:/etc/hosts
小常识:
1、通常域名访问站点,首先要通过DNS域名服务器把网络域名(形如www.xxx.com)解析成XXX.XXX.XXX.XXX的IP地址,然后继续后续访问。
2、hosts存放了域名和ip地址的映射关系,如下
性能测试方案设计思路总结
使用hosts可以加快域名解析,在进行DNS请求以前,系统会先检查自己的hosts文件中是否有这个地址映射关系,如果有则把域名解析为映射的IP地址,不请求网络上的DNS服务器,如果没有再向已知的DNS 服务器提出域名解析。也就是说hosts的请求级别比DNS高,可加快域名解析。
<2> 检查DNS配置
不同DNS,其速度和准确率是不一样的,比如114.114.114.114速度远比8.8.8.8快,如果有用到DNS(特别是压测机),需要考虑下是否适当
<3> 确保路由正确设置
2)网络带宽
如果没条件在局域网下测试,可能需要估算所需大致带宽。
如果测试时是基于UI层操作的操作,那么得估算页面平均大小,这个可以通过浏览器自带工具查看打开单个页面服务器返回的请求数据大小。如果是测试时是基于接口层的请求测试,可以通过工具查看服务器响应数据大小。
然后根据采集的页面PV峰值、请求数峰值进行计算。
假设在 PV峰值、请求数峰值 = 1000,峰值时段:8:00 - 12:00,平均页面、请求大小 200k
带宽 = 1000 x 80% / (20% x 4 x 3600s) x 200KB x /1024 x 8bit ,单位MBps
注意: 这里涉及到浏览器缓存等因素,估值可能不准,大致估算。
九、硬件配置
1) CPU
型号,频率,核数
2) 内存
3) 磁盘
不同磁盘类型,读写速率不一样
4) 网卡
不同网卡,其传输速率也不一样
注意:硬件配置最好和生产环境的配置保持一致
十、性能监控
注意:
1) 这里监控不仅仅是服务器自身性能指标监控,如cpu,还包括事务耗时监控等
2) 需要记录测试前各个性能指标数据,方便后续测试对比
十一、实施测试
根据当前项目进行实施测试计划,按照测试流程分步进行性能测试
十二、 结果分析
如果是性能调优,还需同上一个版本的性能测试结果进行对比