配置管理
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 并进行校验
因此, Controller 与 Agent 需部署在不同服务器上
-------------------------------
脚本录制
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 URL 或 Text 校验
Form Post Parameters-> 去除 Hidden 字段或用 getParameters 替换
g) 调试方法:
查看程序是否支持出错日志:打开日志开关、查看日志权限 & 路径
查看程序是否支持出错邮件:查看 EmailService 运行 & 配置是否完好、接收人 & 信息描述是否正确
查看 Windows “事件查看器”是否记录
被测程序与测试脚本联调
2) LoadTest
a) 计数器值收集的前提:各分布式组件所在服务器具有相关权限
权限添加方法:被测 Server 中 Performance Test/Admin 组添加 TestAgent 账户
b) 指标收集通过 Counter 节点进行指定
此方法亦支持针对进程添加计数器
c) 同一 WebTest ,需尽可能于同一时段测试,按条件切换
d) 同一 WebTest 同一条件测试结果异常时,需立即切换验证
例:
Requests/sec=0(X) ,或