压力测试过程详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
医疗平台压力测试方案
压力测试方案
本次压力测试,目的是为了测试选定型号的测试系统是否能够达到预期目标。目标如下:(目前设计了这4条)
1、能够至少保证xx用户同时在线;
2、语音的丢包、延时情况不明显;
3、终端响应时间短(比如不超过3s);
4、FS服务器的CPU、内存运行情况,保证没有达到峰值。
5、吞吐量;
6、丢包率;
7、时延(sipp命令设置消息频率,测试服务器响应);
8、重传次数,成功概率;
压力测试的基本过程是:在2台终端上用eyebeam通过FS服务器建立语音通话,抓取数据包,保存在UAC和UAS上。通过在2台linux服务器作为UAC和UAS运行sipp脚本,模拟成百上千的虚拟用户同时建立呼叫连接的情景,并且记录下呼叫过程中的FS服务器峰值数据、处理呼叫的时间等。
目前需要测试300路会话需要配备的服务器硬件。本次测试在上述选定硬件的情况下,用sipp分别发起200路、300路、500路并发通话,并且通过FS服务器建立2台终端设备的语音通话。分析测试结果。
SIPP流程如下:
REGISTER ----------> SIP_server
401 <---------- SIP_server
REGISTER ----------> SIP_server
200 <---------- SIP_server
INVITE ----------> SIP_server
407 <---------- SIP_server
ACK ----------> SIP_server
INVITE ----------> SIP_server--INVITE-------->UAS
100 <---------- SIP_server--100 <---------- UAS
180 <---------- SIP_server---180 <---------- UAS
200 <---------- SIP_server---200 <---------- UAS
ACK ----------> SIP_server---ACK ---------->UAS
-----------RTP语音流(wireshark抓的语音包g71190.pcap)-----------
Pause [ 20.0s]
BYE ---------->
200 <----------
录制语音媒体流
在a、b两台电脑上安装eyebeam,a做主叫,b做被叫。注册号码选取FS服务器的号码列表,在UAC和UAS运行sipp脚本同时,启动呼叫。在被叫b上安装wireshark,抓取FS发送过来的包,条件为src host Freeswitch ip。
在主叫a上的eyebeam说话,维持180s,停止抓包,保存为rtpspeech.pcap,作为低压通话样本。在主叫a上播放一段音乐,维持180s,停止抓包,保存为rtpmusic.pcap,作为高压通话样本。录制完成可分别倒入UAC和UAS的安装目录下,以便进行后续压力测试。
运行sipp脚本
UAC上编写reg.xml注册脚本,以及用户信息reg.csv文件,主叫流程脚本uacshortcall.xml,主被叫信息caller.csv,并导入sipp的安装目录下。同理,UAS上编写reg.xml注册脚本,以及用户信息reg.csv文件,被叫流程脚本uasshortcall.xml,主被叫信息called.csv,并导入sipp的安装目录下。
编写sipp命令./sipp -sf reg.xml -inf reg100.csv -p 6067 -i 192.168.3.122 -m 500
192.168.3.148:5060,进行sipp压力呼叫。
在reg.csv录入注册账号及其鉴权信息。可以选择FS上默认号码1000~1019,也可以现在
FS上添加注册号码后,终端再进行注册。目前分别注册200路、300路、500路。
reg.csv文件的格式:第一行制定变脸的读取顺序,分别为:SEQUENTIAL/RENDOM/USER——顺序/随机/用户。后面每行的信息都由本地注册账号;鉴权信息组成。如下所示:
Called.csv内容由主叫(本地)账号;被叫(远端)账号组成。
UAS和UAC的注册和呼叫流程是独立运行的,需要先运行完注册脚本,再运行呼叫脚本。reg.xml脚本不需要区分主叫被叫,内容如下: