首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >延迟,Nginx &PHP

问延迟,Nginx &PHP
EN

Server Fault用户
提问于 2013-06-06 13:17:51
回答 1查看 1.5K关注 0票数 1

我有一个高负载的动态PHP服务,我最近从Apache2迁移到了Nginx和PHP。我发现,自从移动之后,平均请求延迟已经从0.5s增加到1s。

我不知道系统的瓶颈在哪里,我一直希望减少平均延迟,我知道我的机器没有:

  • 受CPU限制
  • 受内存容量的限制
  • 受磁盘IO限制
  • 受网络IO限制

Nginx通过一个unix套接字将请求转发给PHP。

  • 瓶颈是否可能是内存带宽?
  • 是否存在监视unix套接字状态的方法?
  • 有一个unix套接字池和它们之间的负载平衡会更好吗?

下面是我的nginx.conf文件的一部分:

代码语言:javascript
复制
worker_processes 2; # one for each processor
worker_rlimit_nofile 65536;
...
fastcgi_buffers 256 16k;
fastcgi_buffer_size 32k;
fastcgi_max_temp_file_size 0;
proxy_buffer_size 32k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 32k;

和我的php-fpm.conf

代码语言:javascript
复制
listen = /var/run/php5-fpm.sock
listen.backlog = 2048
pm = static
pm.max_children = 64

有什么东西是异想天开的,还是有错的?

EN

回答 1

Server Fault用户

发布于 2013-06-07 23:03:12

使用一个套接字应该可以。

有几件事要检查:

  1. 每个进程的最大文件句柄数是多少?ulimit -n,您可能从增加这一点中受益。
  2. 启用php中的日志记录,查看请求根据它需要多长时间。网址:www.conf:access.format = %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%
  3. 使用status模块查看nginx:http://wiki.nginx.org/HttpStubStatusModule内部发生了什么
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/513764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档