sipp是sip服务器压力测试工具,sipp运行于类linux系统或windows+cygwin环境,采用多进程发送请求机制。
sip(会话初始化协议)是应用层协议,承载于udp和tcp之上,广泛应用于语音、视频通话的信令层。在遇到问题的测试场景中,我采用的是tcp连接,sipp为了构造压力测试场景,要模拟多个终端向服务器进行请求,每个终端都要与服务器建立一个tcp连接,sipp是通过调用socket connect方法不断向服务端发送请求,每次connect请求的时候会为连接随机分配一个端口,但是这个分配的端口是有范围的,记录在:/proc/sys/net/ipv4/ip_local_port_range
在root权限下执行# cat /proc/sys/net/ipv4/ip_local_port_range可以查看端口范围。centos和Fedora 默认的随机分配端口范围是32768 到 61000。
当用多个进程发起过多的请求的时候,端口用完了就会报这个错误。所以,为了能够达到sip服务器连接的瓶颈,除了调整端口范围,还要在另一台机器上再起一个sipp。
本文出自 “在路上” 博客,请务必保留此出处http://2378191.blog.51cto.com/2368191/1686172
sipp进行压力测试时遇到socket error 99 can't assign request错误
原文地址:http://2378191.blog.51cto.com/2368191/1686172