Nginx性能优化

Nginx作为一个非常流行和成熟的Web Server和Reserve Proxy Server,网上有大量的性能优化教程,但是不同的业务场景千差万别,什么配置是最适合自己的,需要大量的测试和实践以及不断的优化改进。最近用户调用量突破百万大关之后,就遇到了一些问题,虽然不算太复杂,但也折腾了挺长时间才搞定,积累了不少经验。

碰到的这个问题其实已经有一段时间了,有客户给我们反馈调用超时,但是我们自己从系统监控上看都是正常的,只有几十毫秒肯定不会超时,怀疑是不是网络的原因,但是出现几次后,就隐隐感觉这个问题可能不是偶发性的,应该还有深层次的原因。

因为我们服务面向企业客户的,虽然每家客户的调用量可能会非常大,但每家企业客户就那么几个公网IP,即使以后有上千家客户,Nginx也可以轻松支撑这些并发连接。因此,首先先从网络上对Nginx长连接作了优化,将长连接从原来配置的5秒钟改成5分钟,将每次建立连接请求的数目从默认的100调整到1000。

keepalive_timeout 300;
keepalive_requests 1000;

调整完毕后,通过netstat -anp命令可以看到,新建连接请求会减少,说明长连接已起到作用。但过了一段时间,仍然发现有客户调用超时的情况发生,从Nginx日志中可以看到请求时间还是有超过1s的,甚至有长达20s左右的,如下所示:

(查看原图)

并且从Zabbix上的监控发现一个现象,当connection writing或active数突然增高时,请求时间就相应的出现较多超时:

(查看原图)

查看应用的日志,发现执行时间并不长:

(查看原图)

应用程序里统计的时间,只是从业务开始执行到执行结果的时间,这个还没有算Tomcat容器的执行时间,外部请求的执行路径如下:

client --> Nginx --> Tomcat --> App

会不会是Tomcat容器本身执行有问题呢,把Tomcat请求的日志调用出来,发现这个时间点前后的执行也是正常的:

从请求路径上分析,肯定是Nginx到Tomcat这层存在一些问题。正在排查这个问题的时候,突然发现有大量30s左右的超时,从Zabbix上也观察到connection writing非常高,如下所示:

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-08-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

误删了,如何恢复硬盘数据?

经常见到有小伙伴在编程的群里问,误删了文件怎么去恢复?很多不明白原理的小伙伴可能就纳闷了,明明是删除的文件是怎么找回来的哪?这点先要从硬盘的储存原理说起。 硬盘...

3388
来自专栏技巅

分布式日志收集系统:Facebook Scribe

1373
来自专栏后端云

cyborg agent

Cyborg的需要一下功能:包括在计算机节点上管理代理,定位加速器,监控加速器状态和协调加速器驱动程序。

794
来自专栏中国白客联盟

Nmap 7.25 BETA 2正式发布,一转眼Nmap已经十九岁了

? 开篇语 我很高兴地告诉大家,美国时间的2016年9月1日,是Nmap的十九岁生日。虽然我们的Nmap没有办法品尝生日蛋糕,但是为了庆祝它的十九周岁生日,我...

2777
来自专栏腾讯移动品质中心TMQ的专栏

这一次,卡98%问题终于解决了

今日话题 在新项目中,往往会有一些瓶颈的问题阻碍项目进程,如鲠在喉。而腾讯手游助手项目中,启动卡98%的问题就属于这种问题。幸运的是团队最终解决了此问题,现在回...

4499
来自专栏张善友的专栏

.NET应用服务器(中间件)来到

       Windows Server 2008 RTM发布了,迫不及待的安装了一个企业版本的,第一感觉不错,看到了激动人心的应用服务器。        应...

1935
来自专栏PaddlePaddle

高阶干货|如何用gperftools分析深度学习框架的内存泄漏问题

本系列为高阶干货,面向深度学习从业者,栏目会定期分享PaddlePaddle研发工程师和产品经理的行业经验。本篇和内存泄漏分析相关,适合中高阶深度学习工程师仔细...

841
来自专栏北京马哥教育

xen虚拟化基础篇

Xen介绍: xen是一个开放的源代码虚拟机监视器,有剑桥大学研发。它打算在单个计算机上运行多达128个满足特征的操作系统,操作系统必须进行显示地修改(“移植”...

2976
来自专栏FreeBuf

TCL智能洗衣机破解细节分析

上周结束的Hackpwn上,黑客们脑洞大开,破解了比亚迪汽车、小米手环、乐小宝、长虹电视、TCL洗衣机和九阳豆浆机等一系列最新的智能硬件。 据黑客介绍,TCL是...

2458
来自专栏云加新鲜事儿

黄荣奎:如何快速、便捷开发小程序

黄荣奎:大家好,今天由我来跟大家讲一下小程序内部的一个框架,我们腾讯云在小程序开发过程中做了哪些事情。首先自我介绍一下我叫黄荣奎,是腾讯这些小程序解决的一个一个...

1K0

扫码关注云+社区