分类: Erlang
2013-03-26 21:40:17
配置文件中的Option字段中均是物理的配置,表示在测试开始之前,要准备的可用的用户数目。
如: global_number,userid_max,username,passd。
实际测试压力的体现
测试过程中,实际参与的用户数目由load中的配置client中的maxusers以及arrivalphase中的users等共同决定,最后由launcher中的nusers体现。
构建集群时的压力测试
从目前的分析来看,所谓集群,只是tsung_controller控制了多个tsung而已。tsung_controller干预测试过程并通过ts_config_server分发测试请求给其他远程节点,同时收集远程节点测试日志和测试数据,Sessions中的所有的会话都要执行只是用户名和密码不同,远程节点上的用户名还是通过ts_user_server获取。
测试用例的纵向面,Tsung测试的允许设定测试阶段,具体就是phase的设定。
所有的测试阶段使用的测试用例(sessions)都是相同的,只是测试的用户量不同,并发的速度有差异,准确地说就是压力不同,可以进行多组对比。多个phase的执 行主要由ts_launcher来控制,主要的接口函数是change_phase。ts_laucher也是load的体现。
测试的横向面主要由下面的概念体现
Tsung测试的用例就是sessions,每个session在整次测试中还是有一个比重的,比如: jabber的login要占到60%,roster要占到30%等。
每个session的测试由一个客户端(ts_client)完成,session中的request,thinktime,transaction都要在一个ts_client的生命周期内完成。
session过程的控制由handle_next_action,set_profile,get_req来体现状态机的变迁。
在一个request内部的ack是否no_ack,要另外一个状态机wait_ack,handle_info,handle_next_action完成变迁。
所谓的thinktime表示每个请求的处理需要的时间。