使用php socket io,连接量达到7000的时候,连接会出现等待……

tomlibao
[wangch@im phpsocket]$ sudo php start.php status
Workerman[start.php] status 
----------------------------------------------GLOBAL STATUS----------------------------------------------------
Workerman version:4.0.19          PHP version:7.3.6
start time:2021-09-01 17:39:58   run 0 days 22 hours   
load average: 4.16, 2, 2         event-loop:\Workerman\Events\Event
1 workers       1 processes
worker_name  exit_status      exit_count
PHPSocketIO  65280            84
----------------------------------------------PROCESS STATUS---------------------------------------------------
pid memory  listening              worker_name  connections send_fail timers  total_request qps    status
35046   64M     socketIO://0.0.0.0:443 PHPSocketIO  8152        0         1612    7776          0      [idle]
----------------------------------------------PROCESS STATUS---------------------------------------------------
Summary 64M     -                      -            8152        0         1612    7776          0      [Summary] 
[wangch@im phpsocket]$ 

这是生产环境下的一个socket io 运行状态,我发现,当 connections 达到7000+的时候,服务会卡顿,类似于进队列那种,连接的时候会进行等待。

如何优化?

阅读 543
3个回答

dignfei

修改最大连接数

  • tomlibao 2021-09-03

    已经修改成:open files (-n) 1024000 了,结果还是一样,连接量过多的的时候会等待。

six

按照手册优化下linux内核

  • 暂无评论
six

我看到你status里进程有报错了,debug方式运行看下什么报错。估计是内存达到php设置的上限了128M,php.ini memory_limit里改成512M试下。

  • tomlibao 2021-09-06

    特别感谢,按照你的方法改了,确实好了很多,我在观察观察