你好,游客 登录 注册 搜索
背景:
阅读新闻

Nginx+PHP-FPM时快时慢的解决

[日期:2014-10-14] 来源:Linux社区  作者:zhangxylinux [字体: ]

原因

一个测试环境,nginx+php-fpm对外提供服务,测试人员访问的时候出现时快时慢的情况,慢时超过了正常网页的等待打开时间范围。重启nginx php-fpm后恢复,访问几次后又会慢

查找思路

1,系统负载,磁盘IO


top,查看负载,负载小于1 排除。


vmstat 查看磁盘io  测试环境 io较小,排除。

2,是否有php慢查询程序

打开php-fpm中php慢查询日志

request_slowlog_timeout = 5

slowlog = var/log/slow.log

reload 访问之后无慢查询日志,判断无执行时间比较慢的php程序

检查该配置文件

pm = static

pm.max_children = 300

pm.start_servers = 15

pm.min_spare_servers = 8

pm.max_spare_servers = 48

request_terminate_timeout = 200

排除是pm.max_children  设置过小引起的问题。

3,怀疑mysql有慢查询

网站时快时慢 重启之后打开统一页面较快,排除mysql有慢查询。此时陷入迷茫尴尬之中。

查看nginx配置文件

worker_rlimit_nofile 65535 偶然发现多么熟悉的数字,此处定义了限制打开的文件数量,就联想到ulimit 参数

ulimit -n 果然  没有进行优化,显示默认的1024

echo '*  -  nofile  65535' >> /etc/security/limits.conf

然后执行下ulimit -HSn 65535

也可以把ulimit -SHn 65535命令加入到/etc/rc.local,然后每次重启生效

文件描述符

文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于Unix、Linux这样的操作系统。

习惯上,标准输入(standard input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2。尽管这种习惯并非Unix内核的特性,但是因为一些 shell 和很多应用程序都使用这种习惯,因此,如果内核不遵循这种习惯的话,很多应用程序将不能使用。

调整完之后访问时快时慢的问题解决。

LAMP-PHP-fpm服务器配置 http://www.linuxidc.com/Linux/2014-06/103093.htm

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm

高负载PHP-FPM调优 http://www.linuxidc.com/Linux/2013-07/86963.htm

Nginx php-fpm出现502解决办法和调优心得 http://www.linuxidc.com/Linux/2013-01/78566.htm

Nginx+PHP-FPM在两台服务器实现 http://www.linuxidc.com/Linux/2012-11/74001.htm

Ubuntu 10.04配置 nginx + php-fpm 模式 http://www.linuxidc.com/Linux/2012-11/74001p2.htm

Nginx&&PHP-FPM配置及优化指南(上) http://www.linuxidc.com/Linux/2012-07/65732.htm

Nginx 的详细介绍请点这里
Nginx 的下载地址请点这里

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-10/108011.htm

linux
相关资讯       Php-fpm  Nginx+PHP-FPM 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款