1、nginx报499,php慢日志,数量基本一致,每分钟1000+

2、相同版本程序,不同的是机房和后端服务。

首先看php慢日志,定位到具体的慢日志都是curl后端数据服务器慢,查看curl耗时日志,发现有一台数据服务器curl返回结果特别慢。

但是为什么会报499错误?之前遇到的curl慢导致的结果都是504timeout。

网上搜索http code 499,大概获取到的信息是

1、499是nginx自定义的httpcode

2、一般都是由客户端主动断开连接导致的

一番搜索下来并没有什么实质性结果。

转移方向从配置文件入手。

慢日志和499日志量基本一致,推断主要可能是超时引起的问题。

1、查看nginx的fastcgi配置的超时选项

fastcgi_connect_timeout 5s;

fastcgi_send_timeout 5s;

fastcgi_read_timeout 5s;

2、查看php-fpm配置

pm = static

pm.max_children = 500

以前遇到过504,是因为fastcgi_read_timeout 超时。看到fpm的配置,子进程是静态的,进而推测499 是由于每个请求耗时过长,导致fpm的子进程被用完了,fastcgi_connect_timeout 超时。

为证实这个推测,测试环境模拟fastcgi_connect_timeout。

将php-fpm的配置改成

pm = static

pm.max_children = 2

重启php-fpm

将php脚本改为

sleep(10);

echo 11;

curl 指定php脚本。观察curl结果输出和nginx日志。

发现3个curl命令在10秒或者10几秒后都能正常输出。推测失败。。。

多次尝试失败后,在curl等待时ctrl+c,日志中出现了499,结合之前搜索到的499产生原因,基本确认了499是由于响应太慢导致客户端直接断开连接了。

tcpdump抓包结果

php 499,nginx499错误相关推荐

  1. HTTP 499 状态码 nginx下 499错误

    日志记录中HTTP状态码出现499错误有多种情况,我遇到的一种情况是nginx反代到一个永远打不开的后端,就这样了,日志状态记录是499.发送字节数是0. 老是有用户反映网站系统时好时坏,因为线上的产 ...

  2. 400错误是什么原因_499错误是什么?499错误的原因及解决方法

    ​ HTTP状态码出现499错误有多种情况,499错误是什么?下面我们来学习Nginx 499错误的原因及解决方法. 日志记录中HTTP状态码出现499错误有多种情况,比如nginx反代到一个永远打不 ...

  3. 自己整理的面试笔记(仅供参考 , 有错误请大家多多指教 , 谢谢)

    javaScript,jQuery,vue的区别: 1.javaScript是运行在浏览器端的脚步语言,JavaScript主要解决的是前端与用户交互的问题,包括使用交互与数据交互,JavaScrip ...

  4. nginx HTTP 错误码499的含义

    原文地址:http://www.blogkid.net/archives/2582.html Web服务器在用着nginx,在日志中偶尔会看到有499这个错误.开始没想明白到底是什么意思,在Twitt ...

  5. springboot 文件服务器_Spring Boot整合阿里OSS文件储存服务器详细教程

    一.准备工作 开发工具idea,jdk1.8,测试工具 postman 注册阿里云服务器并创建oss储存库, 创建Spring boot空项目 二. 引入pom.xml org.springframe ...

  6. [LCS]LCS2005服务器应用程序

    摘要:LCS2005服务器应用程序可以通过基于.NET Framework的服务器API对SIP协议栈进行底层访问,使用这些API开发的服务器应用程序能够实现诸如自定义消息筛选.基于规则的路由和消息记 ...

  7. 学姐百度实习面经(轻松拿offer)

    本系列历史文章: 学姐,来挑战字节最牛部门 最强阿里巴巴历年经典面试题汇总:C++研发岗 关于我的那些面经--百度后端(附答案) <关于我的那些面经>滴滴Java岗(附答案) 朋友面神策数 ...

  8. HTTP状态码表格汇总

    HTTP状态码 一.介绍 ​ 状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果.借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误. [注意] 状态码是:服务端向客户端发送 ...

  9. 【温故而知新】HTTP 报文

    HTTP 报文是在 HTTP 应用程序之间发送的数据块.这些数据块以一些文本形式的元信息开头,这些信息描述了报文的内容及含义. 报文流 报文在客户端.服务器和代理之间的流动称为报文流. HTTP 使用 ...

  10. HTTP协议从入门到大牛,初识HTTP协议(学习笔记)

    HTTP数据传输协议 当访问一个网页时,浏览器会向服务器发起一条HTTP请求,接着服务器会去寻找相应的资源,如果请求成功,就会把这个对象,对象类型,对象长度以及其他的信息放在HTTP响应中,发送给客户 ...

最新文章

  1. 使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。...
  2. AI芯片大战已然打响,国内外巨头抢占万亿智能家居市场
  3. 崔希凡javaWeb笔记day01~day03(2016年5月20日20:33:54)
  4. 【设计和算法分析】3、二进制搜索
  5. aspen和python一起使用_python-将$cond语句与$project一起使用并在PyMon...
  6. boost::hana::make用法的测试程序
  7. po 时不生效时, 不要用点方法
  8. ueditor工具栏弹出html,UEditor工具栏上自定义按钮、图标、事件、窗口页面
  9. 【clickhouse】clickhouse的系统表
  10. 【最新】Oracle官网Java SE各个版本JDK下载位置
  11. java home_JAVA_HOME配置
  12. C语言递归方法求解背包问题
  13. 从周易六十四卦看软件架构真好懂!女朋友这下不用担心我的学习了【程序员编程】
  14. 毕业论文ppt的研究方法及过程计算机专业,计算思维原理研究与实现数据组织毕业论文4喜欢就下吧(全文完整版)...
  15. 种草营销怎么玩?如何借小红书KOL、KOC笔记种草提升转化效果
  16. 怎么学习单片机编程?单片机基础入门内容有哪些
  17. nodejs和java对比_nodejs与java的区别是什么?
  18. ps参考线设置,ps参考线定位,ps参考线怎么用
  19. 算法与数据结构07:前缀树,计数排序与桶排序
  20. Rich feature hierarchies for accurate object detection and semantic segmentation

热门文章

  1. aspcms用mysql_aspcms分类列表调用的几个实例
  2. 三星android手机工程模式设置中文,三星工程模式怎么进入?三星手机进入工程模式方法...
  3. epson连接计算机后无法打印,电脑连接爱普生打印机后无法打印如何解决
  4. Learn Git Branching 答案
  5. 【自动化营销】跨境电商高效进行WhatsApp营销技巧!
  6. SEO工具脚本,Python百度下拉框关键词采集工具
  7. python转换迅雷地址为http地址
  8. 从“制造大国”走向“制造强国”——“两化深度融合”是必然选择 考题答案
  9. 2018-2019-1 20165320 《信息安全系统设计基础》 缓冲区溢出漏洞实验
  10. HTTP协议 (三) 代理