-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
swoole阻塞 无法即时收到信息 #1022
Comments
11:30 -- 11:37 生成了大量的core文件。 |
(gdb) bt |
服务器修改后的参数 |
@matyhtf 大神,急。在线等。 |
你用的swoole版本是alpha可能存在问题,请使用 1.9.4 |
主要是我这个服务跑了一两个月了,期间也有高峰期。但一直都是正常的。 |
不太确定,ulimit -n 不建议调太大。否则会占用过多内存。 |
目前是 ulimit -n 262140 |
可能存在恶意的攻击行为。建立了大量Http的连接,占用了大量内存导致系统资源不足,内存分配失败,触发core |
我重写了握手协议那里。如果没有正确的token 就直接return 了 |
这个只能防止建立WebSocket连接,但是不能防止通过Http请求 |
好吧。我晚上先升级。下个高峰期在持续关注 |
|
swoole,php 什么版本? gdb php core.xxxx 贴出详细的信息 |
gdb信息呢 |
[root@iZbp1ee968s6h7i29enecxZ /]# gdb php core.18853 |
最主要是的 这服务跑了1个多月都没有问题,就今年1月份开始出问题。 |
PHP代码中是否对$request, $response 对象使用了 引用操作, 如 |
没有用引用 |
不过在代码中确实有不合理的地方吧。 想不通的是 如果是因为用http发消息给swoole然后swoole推送消息这一流程有问题的话。那早就应该出现问题了。 |
Core was generated by `main_work '.
Program terminated with signal 11, Segmentation fault.
#0 0x00007f13c0c311f1 in swoole_set_object (object=, ptr=0x0) at /usr/local/php/swoole-src/swoole.c:421
421 swoole_objects.array[handle] = ptr;
Missing separate debuginfos, use: debuginfo-install bzip2-libs-1.0.5-7.el6_0.x86_64 cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64 glibc-2.12-1.166.el6_7.7.x86_64 keyutils-libs-1.4-5.el6.x86_64 krb5-libs-1.10.3-57.el6.x86_64 libcom_err-1.41.12-22.el6.x86_64 libcurl-7.19.7-52.el6.x86_64 libgcc-4.4.7-17.el6.x86_64 libgcrypt-1.4.5-11.el6_4.x86_64 libgpg-error-1.7-4.el6.x86_64 libicu-4.2.1-14.el6.x86_64 libidn-1.18-2.el6.x86_64 libselinux-2.0.94-7.el6.x86_64 libssh2-1.4.2-1.el6.x86_64 libstdc++-4.4.7-17.el6.x86_64 libxml2-2.7.6-21.el6_8.1.x86_64 libxslt-1.1.26-2.el6_3.1.x86_64 nspr-4.10.6-1.el6_5.x86_64 nss-3.16.1-4.el6_5.x86_64 nss-softokn-freebl-3.14.3-10.el6_5.x86_64 nss-util-3.16.1-1.el6_5.x86_64 openldap-2.4.23-34.el6_5.1.x86_64 openssl-1.0.1e-48.el6_8.1.x86_64 zlib-1.2.3-29.el6.x86_64
在今晚11点半的时候 数据量大。发现网站无法即时收到信息。
环境 php7 swoole 1.8.8-alpha
上次(上星期五)对服务器(4核8G)进行了一次配置调整。
第一次卡死时,照文档对服务器进行过调整
1 ulimit -n 1000000
2 net.unix.max_dgram_qlen = 100
3 对程序进行了参数调整
'worker_num' => 100,
'task_worker_num'=>300,
The text was updated successfully, but these errors were encountered: