文档章节

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

Jack088
 Jack088
发布于 03/27 10:16
字数 672
阅读 52
收藏 0

原因

一个测试环境,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 和很多应用程序都使用这种习惯,因此,如果内核不遵循这种习惯的话,很多应用程序将不能使用。

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

本文转载自:https://blog.51cto.com/kusorz/1783545

Jack088
粉丝 45
博文 666
码字总数 110828
作品 0
扬州
程序员
私信 提问
加载中

评论(0)

Linux下,400-500并发,用Apache+PHP_MOD还是Nginx+PHP-fpm比较靠谱?

一直使用Ubuntu自带的LAMP做比较小的项目,最近遇到对并发要求比较高的,在考虑是否用Nginx+PHP-fpm,由于没有详细测试过,所以征求下过来人的意见。另外Nginx+PHP-fpm应该怎么设置性能方面的...

BossKiller
2014/03/16
2.6K
5
用docker部署nginx+php环境时,访问php文件不执行

今天用docker部署nginx+php环境时,访问php页面,提示404错误。查看docker日志发现下面错误: [error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream,...

bengozhong
2019/03/29
57
0
https://segmentfault.com/a/1190000007322358

Nginx+Php-fpm运行原理详解 反向代理 fpm nginx php zilu 2016年10月29日发布 | 5 收藏 | 75 2.3k 次浏览 一、代理与反向代理 现实生活中的例子 1、正向代理:访问google.com 如上图,因为g...

fangyiya
2017/06/15
0
0
Nginx php-fpm的疑问

在Windows下,用Nginx+php。发现都是启动php-cgi.exe的,但是在Linux下是有php-fpm的,php-fpm负责管理cgi。 所以想问下,在Windows下,php-fpm怎样启动?或者说,Windows下还有php-fpm吗?...

KellyKuang
2017/03/23
171
1
一次架构失误的反思

我们公司的系统要做改造,以前是1台服务器,现在要换成4台服务器,我去的时候,运维已经把架构方案那些,都弄好了,都已经在测试了,大概架构如下: 请注意,这个和我们传统的架构是有区别的,...

zchd
2016/08/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

基于 rsync 和 ln 实现“写时复制”的快照备份功能

一、基本原理 这里“写时复制”加了一个引号,因为这是专门针对使用rsync备份时的写时复制效果,而不是事实上的写时复制(copy-on-write),其达到的目的如下: 使用 rsync 备份数据后,立即...

Inpool
26分钟前
25
0
郑州哪哪里可以开工程款发票-郑州_新闻网

【电薇同步;1.3.8 - 2.7.4.1 - 5.2.9.7.】张生、诚、信、合、作,保、真、售、后、保、障、长、期、有、效。adb的全称为Android Debug Bridge,是Android手机通用...

yyqqvip
今天
30
0
Nginx 反向代理访问

在Nginx 配置 server { listen 80; server_name www.xiaocx.org www.xiaocx.org www.xiaocx.org; root /Users/maison/work/xiaocx/dist; index i......

韩庚庚
今天
33
0
python笔记:环境变量已设置CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件

这些天虽然也写了几个小工具,但是打包都是在anaconda prompt中完成的,因为CMD中一直报错"python"不是内部命令,也不是可运行的程序或批处理文件,各种查度,千篇一律的是环境变量配置的问题...

小玲_001
今天
13
0
AI+BI服务模式

术语与缩写解释 缩写、术语 解 释 BI 商业智能(Business Intelligence,简称:BI),又称商业智慧或商务智能,指用现代数据仓库技术、线上分析处理技术、数据挖掘和数据展现技术进行数据分析...

zoegu228
今天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部