zoukankan      html  css  js  c++  java
  • workerman配置过程遇到的问题

    扩展不必说了,自己装去,如果连sapi都搞不定,那只能说你并不适合使用workerman。

    Notice : Soft open files now is 1024,  We recommend greater than 10000

    解决办法:增大文件 soft open file数量

    解决过程

    尝试1

    sudo sysctl -w fs.file-max=10000

    貌似不行。。。。错误依旧,那么就来试试其他的

    那么我们就切换到root账户,看看ulimit -n 10240

    ulimt -a

    看到下面的输出

    core file size          (blocks, -c) 0
    data seg size           (kbytes, -d) unlimited
    scheduling priority             (-e) 0
    file size               (blocks, -f) unlimited
    pending signals                 (-i) 62799
    max locked memory       (kbytes, -l) 64
    max memory size         (kbytes, -m) unlimited
    open files                      (-n) 10240
    pipe size            (512 bytes, -p) 8
    POSIX message queues     (bytes, -q) 819200
    real-time priority              (-r) 0
    stack size              (kbytes, -s) 8192
    cpu time               (seconds, -t) unlimited
    max user processes              (-u) 62799
    virtual memory          (kbytes, -v) unlimited
    file locks                      (-x) unlimited

    再次运行workerman,问题消失。但是这个方法仅仅是治标,不治本。

    然后让我们启动workerman自带的压力测试工具测试workerman的性能。

    ./benchmark -n 10000 -h1 -c400 -p56789 127.0.0.1

    报出如下错误

    client: connect: Cannot assign requested address

    哦~原来楼主才重装了系统,之前的配置丢了。好吧这里就介绍下为什么会出现这个问题。

    1.客户端短时间内发起了很多请求,并且每次请求服务时间都很短,这样根据3次握手和4次握手的原理大量的链接都处在time wait的状态

    2.time wait是必然出现的阶段,但是如果太多以至于没有端口可以供服务器分配就会报如上的错误

    解决办法:

    sysctl -w net.ipv4.tcp_timestamps=1
    sysctl -w net.ipv4.tcp_tw_recycle=1
  • 相关阅读:
    Rebots协议是什么?
    Requests库入门
    jieba库的使用及实例
    第六周 python组合数据类型
    python 有基础入门程序
    字符与字符串操作归纳[持续更新]
    C++调用bat并实现传值
    Python如何运行程序
    Execl数据上传到数据库
    xml 文件操作
  • 原文地址:https://www.cnblogs.com/sunyuw/p/4210421.html
Copyright © 2011-2022 走看看