Karp 的技术博客

php7.2 + swoole 1.10.3

ERROR   zm_deactivate_swoole (ERROR 503): Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 4096 bytes) 

master 进程内存溢出问题 减小 buffer_output_size 参数 32M 内存溢出有所改善, 但阿里云个别服务器内存仍在持续增长.

[2018-11-02 15:21:48 #17293.8]  ERROR   swServer_master_onAccept (ERROR 502): accept() failed. Error: Too many open files[24]

worker 进程错误日志提示 打开文件数过多, 调整 ulimit -n 参数 仍然存在问题.
dispatch_func return -1 导致问题出现, -1 表示 master/manage 进程 , 阿里云环境存在无响应头的请求包

经过测试 在 Server StartManage Start 启动时 打印 worker_id 返回的都是 -1

官方文档 https://wiki.swoole.com/wiki/page/698.html

dispatch函数必须返回投递的目标worker进程id
返回的worker_id不得超过serv->worker_num,否则底层会抛出段错误
返回负数(return -1)表示`丢弃此数据包`
data可以读取到事件的类型和长度

但是 实际上 `return -1` 并不是丢包 而是 发送给`master`主进程 ....

阿里云域名解析 部分功能不支持

php swoole

版权属于:karp
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2018年11月04日 15:23
3

目录

来自 《Aws 迁移 阿里云 踩坑 (Too many open files[24])》
774 文章数
0 评论量
9 分类数
779 页面数
已在风雨中度过 9年277天3小时33分