zoukankan      html  css  js  c++  java
  • recv() failed (104: Connection reset by peer) while reading response header from upstream

    场景:
          为了得到用户在线等实时信息,在客户端做了个ajax轮训,每隔5秒请求一次;
    用户量一上来,于是问题就来了,页面各种卡
    
    nginx日志文件
    [root@iZt web]# tail -f /data/log/nginx_error.log
    2017/06/16 19:20:28 [error] 230555#0: *10228041 recv() failed (104: Connection reset by peer) 
    while reading response header from upstream,client: 42.19.1.114, server: 47.18.212.1, request: 
    "POST /api-chat/subshade?rnd=880 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000",
     host: "www.1j008.com", referrer: "http://www.2008.com/6166"
    .......狂刷此错误
    
    php日志文件 [root@iZt web]# tail
    -f /data/log/php-fpm.log [19-Jun-2017 10:51:05] WARNING: [pool www] child 754153 exited on signal 11 (SIGSEGV) after 74.433547 seconds from start [19-Jun-2017 10:51:05] NOTICE: [pool www] child 755405 started .......狂刷此错误 百度谷歌后分析结果,大意如下几点: 1. php程序执行时间超过php-fpm.conf 中 request_terminate_timeout = 300;设置的值,然后php-fpm进程立即退出,
    此时nginx得不到php-fpm进程的正确结果,响应502 解决方法: 改request_terminate_timeout 0;不限制超时 2. php-fpm进程数量来不及处理。 解决方法: 增大php-fpm进程数 3. 因为每个php-fpm在处理一定数量请求后自动stop,然后create new php-fpm 解决方法: 改pm.max_requests限制 ..... 对应一下我的日志看来,网上的症状确实与我的同出一辙。 窃喜.....
    没多久发现不对,对应着改了一轮下来,各种服务重启, 问题依旧、 好;既然无果那么就分析一下php
    -fpm疯狂的终止原因 [root@iZt web]#dmesg ...... php-fpm[744779]: segfault at 1c ip 00000000007a8ea1 sp 00007ffe40af5330 error 4 in php-fpm[400000+9a9000] php-fpm[744924]: segfault at 10bc890 ip 000000000078931f sp 00007ffe40af56e8 error 4 in php-fpm[400000+9a9000] php-fpm[746677]: segfault at 1c ip 00000000007a8ea1 sp 00007ffe40af5330 error 4 in php-fpm[400000+9a9000] php-fpm[746738]: segfault at 0 ip 00000000007a8ead sp 00007ffe40af5330 error 6 in php-fpm[400000+9a9000] php-fpm[746371] general protection ip:7a8ead sp:7ffe40af5330 error:0 in php-fpm[400000+9a9000] 好了,问题找到 在php里面我确实处理过客户端ip 类似$_SERVER['REMOVE_ADDR']方法得到的ip 经过ip2long ( string $ip_address )转换时出错, 因为 $ip_address = "这里的ip不合符规则里面有逗号" 过滤之.... 安静了
  • 相关阅读:
    [eslintpluginvue] [vue/nounusedvars] 'scope' is defined but never used.
    Vue项目中添加锁屏功能
    前端文档汇总(含代码规范、开发流程、知识分享,持续更新)
    vscode格式化Vue出现的问题
    下盘不稳 被忽视的项目风险
    项目沟通中的一点经验心得
    如何才能更合理地分配项目奖金?
    关于企业的薪酬体系之思考
    导致项目失败的两大隐形杀手
    如何让项目总结会议更有效果?
  • 原文地址:https://www.cnblogs.com/sixiong/p/7048135.html
Copyright © 2011-2022 走看看