1. 程式人生 > >三種壓力測試工具 http_load 和 apache ab 、 siege 壓力測試

三種壓力測試工具 http_load 和 apache ab 、 siege 壓力測試

平常使用http_load過程中的一些總結,分享出來,大家可以一起補充;

1.提示:bytes count wrong
如果httpd_load獲取到的頁面資料和上次不一致則會報錯byte count wrong
如果是動態頁面,此報錯可以忽略;

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的快速回收