首页
下载
文档
社区
视频
捐赠
源代码
赞助商
AOT 编译器
AI 助理
商业产品
PHP AOT 原生编译器
Swoole-Compiler 代码加密器
CRMEB 新零售社交电商系统
登录
注册
全部
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
发表新帖
laravel+swoole 经常出现服务不可用
### 问题描述 使用laravels+k8s搭建服务,我手动连入某个服务的某个pod,使用curl请求,如图  请求该pod的5200服务(swoole监听的端口,有时能返回,有时不能返回) 重启该pod之后就能恢复正常,一段时间后该现象又会出现。 已知 1.swoole配置 ``` 'buffer_output_size' => 40 * 1024 * 1024, 'socket_buffer_size' => 128 * 1024 * 1024, 'package_max_length' => 40 * 1024 * 1024, ``` 2.宿主机和pod的cpu以及内存是正常的,没有满载 3.该请求接口是正常的,并没有超时,因为出问题的时候请求发起后就立刻返回,而不是等待超时时间后才返回 4.问题接口基本都是出现在返回值较大的列表接口,返回值在100-300k之间,其它小接口暂未发现该问题 5.swoole的日志级别调成了INFO,没有发现有日志记录 ### Swoole版本,PHP版本,以及操作系统版本信息  ### 相关代码 ```php 请将代码粘贴至此处(请勿用截图) ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 线上项目出现的错误,基本能定位到5200提供的http服务存在问题,但是没办法进一步解决,希望得到社区的帮助
发布于4年前 · 48 次浏览 · 来自
提问
天凉好个秋-php
### 问题描述 使用laravels+k8s搭建服务,我手动连入某个服务的某个pod,使用curl请求,如图  请求该pod的5200服务(swoole监听的端口,有时能返回,有时不能返回) 重启该pod之后就能恢复正常,一段时间后该现象又会出现。 已知 1.swoole配置 ``` 'buffer_output_size' => 40 * 1024 * 1024, 'socket_buffer_size' => 128 * 1024 * 1024, 'package_max_length' => 40 * 1024 * 1024, ``` 2.宿主机和pod的cpu以及内存是正常的,没有满载 3.该请求接口是正常的,并没有超时,因为出问题的时候请求发起后就立刻返回,而不是等待超时时间后才返回 4.问题接口基本都是出现在返回值较大的列表接口,返回值在100-300k之间,其它小接口暂未发现该问题 5.swoole的日志级别调成了INFO,没有发现有日志记录 ### Swoole版本,PHP版本,以及操作系统版本信息  ### 相关代码 ```php 请将代码粘贴至此处(请勿用截图) ``` ### 你期待的结果是什么?实际看到的错误信息又是什么? 线上项目出现的错误,基本能定位到5200提供的http服务存在问题,但是没办法进一步解决,希望得到社区的帮助
赞
0
收藏
提问
分享
讨论
建议
公告
开发框架
CodeGalaxy
登录
后参与评论
评论
2022-02-09
Rango
进程可能阻塞了,或者存在 `fatal error`,使用 `gdb` 或者 `strace` 工具跟踪是否阻塞,检查 `php` 的 `error log` 以及 `swoole` 的 `log_file` 看看是否存在相关错误
赞
0
回复
2022-02-09
天凉好个秋-php
回复
Rango
1.php没有报错,报错日志是空的。 2.swoole的log_level设置成2,log_file里也没有数据 3.抓包工具查看结果分析,是swoole主动断开连接 
赞
0
回复
2022-02-09
天凉好个秋-php
回复
Rango
另外补充: 1.同一个接口我手动快速请求几次之后,可能就会出现错误。等待一段时间之后或者重启pod又会恢复
赞
0
回复
2022-02-09
桶
桶哥
这个错误一般是content-length 和 实际大小不一致 可以抓包看看实际的数据 或者有没有稳定复杂的最小集代码?
赞
0
回复
2022-02-09
天凉好个秋-php
回复
桶哥
应该不是的,curl -vvv 可以看到content-length是正确的。 能正常返回数据的时候,这个content-length也是这个值 
赞
0
回复
2022-02-09
云天001
升级swoole版本试一下 
赞
0
回复