workerman配置过程遇到的问题

扩展没必要说了,本身装去,若是连sapi都搞不定,那只能说你并不适合使用workerman。api

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

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

解决过程工具

尝试1性能

sudo sysctl -w fs.file-max=10000

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

那么咱们就切换到root帐户,看看ulimit -n 10240spa

ulimt -a

看到下面的输出code

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,问题消失。可是这个方法仅仅是治标,不治本。blog

而后让咱们启动workerman自带的压力测试工具测试workerman的性能。ip

./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
相关文章
相关标签/搜索