在grafana界面中发现不少499的状态码,在网上了解到出现499的原因大体都是说服务端处理时间过长,客户端主动关闭了连接。

既然原因可能是服务端处理时间太长了,看一下upstream_response_time时间可以了解到后端程序处理了多久。

先了解一下什么是upstream_response_time和request_time分别是什么:

request_time:服务端从接受客户端请求的第一个字节到服务端应用程序处理完发送完响应数据的时间,包括请求数据时间、程序响应时间、输出响应时间

upstream_response_time:指nginx向后端如php,tomcat等建立连接开始到到处理完数据关闭连接为止的时间

上面说过,原因可能是服务端处理时间太长了, 那么应该upstream_resopnse_time和request_time时间很长才对。。看下图,打脸了,upstream_response_time没有记录,request_time也非常短,也就是说nginx根本没有将请求转发到php处理,而是直接返回了499状态码,所以没有upstream_response_time,并且request_time时间很短,甚至为零。

这么说我这里出现499不是服务端处理时间太长了,而是另有他因。

看来百度是不行的,google查找,原因可能是以下:

客户端请求速度过快,触发了nginx保护机制,直接返回499状态码

第二种情况就是客户端主动关闭了连接

证书错误

优化方法:

#size limits for 502 499client_max_body_size 50m;

client_body_buffer_size 256k;

client_header_timeout 3m;

client_body_timeout 3m;

client_body_temp_path/dev/shm/client_body_temp;

send_timeout 3m;

proxy_ignore_client_abort on; # 告诉nginx不要主动关闭连接

proxy_connect_timeout600;

proxy_read_timeout600;

proxy_send_timeout600;

proxy_buffer_size 32k;

proxy_buffers464k;

proxy_busy_buffers_size 128k;

proxy_temp_file_write_size 512k;

php 499,nginx 499 状态码优化相关推荐

  1. nginx 常见状态码源码分析

    最近生产环境出现502 报警较多,通过排查问题,有些问题还挺有意思.通过分析nginx 源码,对查nginx 状态码来源可能会带来一定启发.本文基于1.6.2(主要是和生成环境对齐). 首先常见的错误 ...

  2. nginx 400状态码排查

    最近,发现主站nginx的log中有很多400的错误,每天有几千万条,故决定对产生400错误的原因进行排查.分析nginx log,发现这种无效的400请求,总是在一个正常访问之后产生,一般出现一个或 ...

  3. nginx 返回状态码详解

    nginx 返回状态码详解 200 (成功) 服务器已成功处理了请求. 通常,这表示服务器提供了请求的网页. 201 (已创建) 请求成功并且服务器创建了新的资源. 202 (已接受) 服务器已接受请 ...

  4. 记一次网站故障排查过程(nginx 504状态码、 upstream timed out (110: Connection timed out)以及jbd2引起IO高

    一.问题描述 客户侧反馈无法正常访问系统,页面转圈,时好时坏,访问不稳定. 二.系统环境: 机器环境:UOS . nginx .php(对接其他服务器kingbase .钉钉.redis .KF) E ...

  5. php 502状态码,Nginx502状态码处理

    问题描述 最近偶然收到报警邮件,Nginx 502状态码 环境是Nginx+php-fpm 配置 8核16G yds.png 分析处理: 根据经验应该是php-fpm原因 (1) php-fpm进程挂 ...

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

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

  7. 【Nginx】警惕状态码 499 ,不只是 504

    目录 [Nginx]警惕状态码 499 ,不只是 504 状态码含义 499也危险 [Nginx]警惕状态码 499 ,不只是 504 状态码含义 499 499, Client Closed Req ...

  8. http 状态码499

    什么是499状态 nginx源码中对499状态码的定义如下: /** HTTP does not define the code for the case when a client closed* ...

  9. Nginx code 常用状态码学习小结

    最近了解下Nginx的Code状态码,在此简单总结下.一个http请求处理流程: 一个普通的http请求处理流程,如上图所示: A -> client端发起请求给nginx B -> ng ...

  10. 服务器排障 之 nginx 499 错误的解决

    问题描述: Nginx 服务器大量499报错 220.181.165.136 - - [18/May/2015:10:31:02 +0800] "POST /v1/jobsHTTP/1.1& ...

最新文章

  1. WordPress添加前台注册功能
  2. spring boot 整合RESTFUL服务
  3. C# 字符串操作:split、substring、Format
  4. mysql 时间函数多了8小时_MySQL时间函数了解
  5. 用 Crontab 进行简单的备份日志任务计划
  6. BitCherry测试网络将于12月24日12:00上线
  7. 96% 移动恶意软件针对 Android 系统:逾50亿应用可被攻击
  8. C++ tbb unsafe_erase() 并发访问 解决方案
  9. 转:requirejs2.0新特性介绍
  10. 经典排序之 归并排序
  11. 程序员必备的一些数学基础知识
  12. 个人收支统计小软件-个人理财(PersonalFinace)- 2009-03-27
  13. PC大作[微软模拟飞行10]
  14. python-视频爬取到本地
  15. mac设置开机启动脚本或应用
  16. 曲线与曲面的微分几何
  17. 调试经验——使用Matlab绘制f(x)=sin(x)/x的函数图形
  18. 苹果小企业项目申请App Store Small Business Program
  19. 立创开源|太阳能逐日系统
  20. 《Loy解说Eureka服务端源码(一)》

热门文章

  1. Windows下获取本地IP地址的两种方法
  2. ybc_xxx类模块应用1-ybc_speech(第一片)
  3. Linux文件夹作用
  4. aspose-word的简单使用以及转pdf线上乱码
  5. DCMM讲的数据“需求管理”,是什么?管理目标?如何实现?
  6. MetaSploit攻击实例讲解------终端下PostgreSQL数据库的使用(包括kali linux 2016.2(rolling) 和 BT5)...
  7. 支付行业架构流程梳理
  8. 如何下载哔哩哔哩里的视频
  9. 昇腾AI室外移动机器人原理与应用(二 初识室外移动机器人)
  10. 关于CDN加速 CDN加速是什么