Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2111923
  • 博文数量: 227
  • 博客积分: 10521
  • 博客等级: 上将
  • 技术积分: 3452
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-20 14:59
个人简介

低调做人,高调做事!

文章分类

全部博文(227)

文章存档

2013年(4)

2012年(8)

2011年(16)

2010年(24)

2009年(92)

2008年(83)

分类: LINUX

2008-07-31 00:20:00

    最近几天发现网通线路的服务器出现流量不稳定的情况,具体的表现是,流量时而高,时而低,在流量低的时候发现系统的负载很小,几乎为0,但是过一会,负载又高上去,流量也上去,很是奇怪,查找了2天没有找到原因,后来看到一边文章,介绍了解决nginx出现502的错误现象,按照这个方法进行尝试,最终还是找到了问题的原因。

解决步骤如下:

1、查看当前的PHP FastCGI进程数是否够用:
netstat -anpo | grep "php-cgi" | wc -l

  如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够用,需要增大。

2、部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,最重要的是这个参数,client head buffer,fastcgi buffer size,例如:
......
http
{
......
  client_header_buffer_size     1024k;
  large_client_header_buffers   4 1024k;

  fastcgi_connect_timeout       300;
  fastcgi_send_timeout          300;
  fastcgi_read_timeout          300;
  fastcgi_buffer_size           1024;
  fastcgi_buffers               8 1024k;
  fastcgi_busy_buffers_size     1024k;
  fastcgi_temp_file_write_size  1024k;
......
}
......


在做第一步的时候,系统当前的PHP FastCGI进程数明显超过了预设值的64这个数值,在电信的服务器上查看当前的PHP FastCGI进程数没有高于64这个数值,而且网通线路的活动连接明显高于电信的活动连接,准备到晚上的时候看看情况,结果到晚上22:30的时候,查看系统当前的PHP FastCGI进程数明显小于64预设值,当前的活动连接也比原来低很多,由此可以说明出现nginx不稳定的情况是由于服务器访问负载过大引起的,就是加上第二步的错误也不顶作用。

总结,php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误




感谢此篇文章的作者,链接为 http://blog.s135.com/read.php/361.htm

阅读(4633) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

chinaunix网友2008-09-12 11:56:19

你好啊,你的文章很不错