性能测试+瓶颈定位+工具使用(中)

来源:互联网 发布:11对战平台mac版本 编辑:程序博客网 时间:2024/05/19 02:02

配置管理

1) IIS中的站点IP Address设置(当有多个IP时)

   a) 若为Not Assign,即为默认IP

   b) 若为机器名,即为默认IP

2) “分布式”系统部署

   a) 以上各部件配置需在同一网段且可相互访问,避免网络延迟

   b) 数据库索引及程序参数设置须与PRD一致

      例:缓存开关、逻辑参数、模块开关、etc.

   c) 数据量&数据值尽可能仿真,避免程序逻辑及SQL规范(例:索引)处理导致误差

   d) Controller作为VSTS的组件之一必须捆绑安装,但Agent可独立存在

              原理:

Controller负责监督及跟踪Agent状态并负责各服务器指标收集

Agent负责发送和接受Request并进行校验

因此,ControllerAgent需部署在不同服务器上

-------------------------------

脚本录制

1) WebTest

   a) 以测试模块为单位设计WebTest

   b) WebTest命名需体现被测模块功能

   c) 识别被测模块数据存取方式(XML/Endeca/DB/Tangosol

   d) 确定步增实验中用户瓶颈数

              当测试持续一段时间,Request/sec曲线在某一区间趋于稳定后,取

              . User Load尽可能大

              . Requests/sec尽可能大

              . Avg. Response Time尽可能小

              的用户并发数

             

   e) 脚本编写:

              Encode字串是否Decode

              随机数是否使用Guid

              文件路径是否可访问

   f) 校验使用:

              Extraction Rules->Extract Hidden Fields当有input提交时触发

              Validation Rules->Response URLText校验

              Form Post Parameters->去除Hidden字段或用getParameters替换

   g) 调试方法:

              查看程序是否支持出错日志:打开日志开关、查看日志权限&路径

              查看程序是否支持出错邮件:查看EmailService运行&配置是否完好、接收人&信息描述是否正确

              查看Windows“事件查看器”是否记录

              被测程序与测试脚本联调

2) LoadTest

   a) 计数器值收集的前提:各分布式组件所在服务器具有相关权限

权限添加方法:被测ServerPerformance Test/Admin组添加TestAgent账户

   b) 指标收集通过Counter节点进行指定

              此方法亦支持针对进程添加计数器

   c) 同一WebTest,需尽可能于同一时段测试,按条件切换

   d) 同一WebTest同一条件测试结果异常时,需立即切换验证

例:

Requests/sec=0(X),或

原创粉丝点击