http_load 参数修改,报错误信息详解

2012-08-13  付民 

                                                    【内部资料整理,转载请注明出处...】

1.错误信息:byte count wrong

http_load在处理时会去关注每次访问同一个URL返回结果(即字节数)是否一致,若不一致就会抛出byte count wrong

所以动态页面可以忽略这个错误信息。

或者可以对代码做修改http_load.c

【原来的】
stderr, ”%s: byte count wrong\n”, urls[url_num].url_str );
【修改的】
stderr, ”%s: byte count wrong: first=%ld,cur=%ld\n”, urls[url_num].url_str,urls[url_num].bytes,connections[cnum].bytes );


2.报错:too many open files
系统限制的open files太小,ulimit -n 修改open files值即可;


3.无法发送大请求 (请求长度>600个字符)
默认接受请求的buf大小 http_load.c

912 static void
913 handle_connect( int cnum, struct timeval* nowP, int double_check )
914 {
915 int url_num;
916 char buf[600]; //根据需要修改,如:char buf[4096]
917 int bytes, r;


4.Cannot assign requested address
客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端口号,所以新的连接没办法绑定端口,所以要改客户端机器的配置,
sysctl.conf里加:
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_timestamps=1 开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用
net.ipv4.tcp_tw_recycle=1 表示开启TCP连接中TIME-WAIT sockets的快速回收


604°/6041 人阅读/0 条评论 发表评论

登录 后发表评论