zoukankan      html  css  js  c++  java
  • http_load常见问题及解决方案

    1.错误信息:byte count wrong

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

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

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

    【原来的】
    “stderr, "%s: byte count wrong ", urls[url_num].url_str );”
    【修改的】
    “stderr, "%s: byte count wrong: first=%ld,cur=%ld ", 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的快速回收

  • 相关阅读:
    mysql语句-DDL语句
    Web框架本质
    HTTP协议那些事儿(Web开发补充知识点)
    利用random模块生成验证码
    前端小练习
    常用模块collections
    强大的图片展示插件,JQuery图片预览展示插件
    笔记本电脑清除BIOS密码
    js中的new Option默认选中
    使用PHPMailer发送邮件
  • 原文地址:https://www.cnblogs.com/ExMan/p/10097259.html
Copyright © 2011-2022 走看看