Random Instant 502 Bad Gateway Errors

Joe frumentius at gmail.com
Sat May 29 23:02:11 MSD 2010


Yes Mike, that's a very logic things.


Regards,
Joe


On Sun, May 30, 2010 at 1:51 AM, Michael Shadle <mike503 at gmail.com> wrote:

> Yup. General rule of thumb is roughly how many concurrent php requests you
> expect at peak time. Hopefully your code runs fast enough to spend less than
> 1 second processing. Cause if the children are busy it will block until one
> opens up or until nginx's configured timeout hits.
>
>
> On May 29, 2010, at 11:24 AM, Jérôme Loyet <jerome at loyet.net> wrote:
>
>  2010/5/29 Joe <frumentius at gmail.com>:
>>
>>> Usually using 5 is quiet enough.
>>>
>>
>> either you have a well optimized website with a 99% cache ratio or you
>> don't have traffic. In the real world, there is so much web apps which
>> consume a lot of resources and for thoses you'll need much more than 5
>> children to handle them.
>>
>>>
>>>
>>> Regards,
>>> Joe
>>>
>>>
>>> 2010/5/30 Michael Shadle <mike503 at gmail.com>
>>>
>>>>
>>>> 150 children is quite a lot. Sure you need that? :)
>>>>
>>>> On May 29, 2010, at 6:02 AM, "TheCrach" <nginx-forum at nginx.us> wrote:
>>>>
>>>>  Hi,
>>>>>
>>>>> I'm French and I've some problem with nginx 0.8.38 and PHP-FPM 5.3.0
>>>>> with
>>>>> Suhosin patch :/
>>>>> I've got random instant 502 Bad Gateway errors, generaly a refresh make
>>>>> the page works again but it's really anoying.
>>>>>
>>>>> Nginx Config :
>>>>> [code]
>>>>> user www;
>>>>> worker_processes 1;
>>>>> daemon on;
>>>>>
>>>>> error_log /var/log/nginx/error.log;
>>>>> pid /var/run/nginx.pid;
>>>>>
>>>>> worker_rlimit_nofile 32000;
>>>>>
>>>>> events {
>>>>>  worker_connections  4096;
>>>>>  use epoll;
>>>>> }
>>>>>
>>>>> http {
>>>>>
>>>>>  include       mime.types;
>>>>>  default_type  text/plain;
>>>>>
>>>>>  limit_zone http $binary_remote_addr 1m;
>>>>>  limit_zone https $binary_remote_addr 1m;
>>>>>
>>>>>  client_body_timeout 8;
>>>>>  client_header_timeout 5;
>>>>>  keepalive_timeout 5;
>>>>>  keepalive_requests 10;
>>>>>  send_timeout 8;
>>>>>
>>>>>  client_max_body_size 512k;
>>>>>
>>>>>  access_log off;
>>>>>  error_log off;
>>>>>
>>>>>  client_header_buffer_size    16k;
>>>>>  large_client_header_buffers  16 16k;
>>>>>
>>>>>  output_buffers   2 32k;
>>>>>  postpone_output  1460;
>>>>>
>>>>>  sendfile         on;
>>>>>  tcp_nopush       on;
>>>>>  tcp_nodelay      on;
>>>>>  reset_timedout_connection on;
>>>>>
>>>>>  ignore_invalid_headers on;
>>>>>  autoindex on;
>>>>>  msie_padding on;
>>>>>
>>>>>  gzip  on;
>>>>>  gzip_http_version 1.1;
>>>>>  gzip_vary on;
>>>>>  gzip_comp_level 6;
>>>>>  gzip_proxied any;
>>>>>  gzip_types text/plain text/css application/json
>>>>> application/x-javascript text/xml application/xml application/xml+rss
>>>>> text/javascript;
>>>>>  gzip_buffers 16 16k;
>>>>>  gzip_disable “MSIE [1-6].(?!.*SV1)”;
>>>>>
>>>>>  server
>>>>>  {
>>>>>    listen 80 default rcvbuf=8192 sndbuf=16384 backlog=65536;
>>>>>    index  index.html index.htm index.php;
>>>>>    root   /home/www/;
>>>>>
>>>>>    limit_conn http 10;
>>>>>
>>>>>    access_log off;
>>>>>
>>>>>   location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
>>>>>    expires 3600;
>>>>>    break;
>>>>>   }
>>>>>
>>>>>   location ~ \.php(/|$) {
>>>>>       include fastcgi_params;
>>>>>   }
>>>>>
>>>>>   location ~ \.php5(/|$) {
>>>>>       include fastcgi_params;
>>>>>   }
>>>>>
>>>>>   location ~ \.php4(/|$) {
>>>>>       include fastcgi_params;
>>>>>   }
>>>>>
>>>>>   location /cache/status {
>>>>>       stub_status on;
>>>>>       access_log off;
>>>>>   }
>>>>>  }
>>>>> [/code]
>>>>>
>>>>> Fastcgi params :
>>>>>
>>>>> [code]
>>>>> fastcgi_connect_timeout 5;
>>>>> fastcgi_send_timeout 8;
>>>>> fastcgi_buffer_size 512k;
>>>>> fastcgi_buffers 64 64k;
>>>>> fastcgi_busy_buffers_size 512k;
>>>>> fastcgi_temp_file_write_size 512k;
>>>>> fastcgi_ignore_client_abort on;
>>>>> fastcgi_intercept_errors on;
>>>>> fastcgi_read_timeout 45;
>>>>>
>>>>> fastcgi_pass   unix:/tmp/php.socket;
>>>>> fastcgi_index  index.php;
>>>>> fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
>>>>> fastcgi_param  QUERY_STRING       $query_string;
>>>>> fastcgi_param  REQUEST_METHOD     $request_method;
>>>>> fastcgi_param  CONTENT_TYPE       $content_type;
>>>>> fastcgi_param  CONTENT_LENGTH     $content_length;
>>>>> fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
>>>>> fastcgi_param  REQUEST_URI        $request_uri;
>>>>> fastcgi_param  DOCUMENT_URI       $document_uri;
>>>>> fastcgi_param  DOCUMENT_ROOT      $document_root;
>>>>> fastcgi_param  SERVER_PROTOCOL    $server_protocol;
>>>>> fastcgi_param  GATEWAY_INTERFACE  CGI;
>>>>> fastcgi_param  SERVER_SOFTWARE    RD;
>>>>> fastcgi_param  REMOTE_ADDR        $remote_addr;
>>>>> fastcgi_param  REMOTE_PORT        $remote_port;
>>>>> fastcgi_param  SERVER_ADDR        $server_addr;
>>>>> fastcgi_param  SERVER_PORT        $server_port;
>>>>> fastcgi_param  SERVER_NAME        $server_name;
>>>>> fastcgi_param  REDIRECT_STATUS    200;
>>>>> [/code]
>>>>>
>>>>> PHP-FPM conf :
>>>>>
>>>>> [code]
>>>>> <?xml version="1.0" ?>
>>>>> <configuration>
>>>>>  <section name="global_options">
>>>>>      <value name="pid_file">/var/run/php5-fpm.pid</value>
>>>>>      <value name="error_log">/var/log/php-fpm.log</value>
>>>>>      <value name="log_level">warn</value>
>>>>>      <value name="emergency_restart_threshold">60</value>
>>>>>      <value name="emergency_restart_interval">1m</value>
>>>>>      <value name="process_control_timeout">4s</value>
>>>>>      <value name="daemonize">yes</value>
>>>>>  </section>
>>>>>
>>>>>  <workers>
>>>>>      <section name="pool">
>>>>>          <value name="name">RD</value>
>>>>>          <value name="listen_address">/tmp/php.socket</value>
>>>>>          <value name="listen_options">
>>>>>              <value name="backlog">-1</value>
>>>>>              <value name="owner">www</value>
>>>>>              <value name="group">www</value>
>>>>>              <value name="mode">0666</value>
>>>>>          </value>
>>>>>
>>>>>          <value name="php_defines">
>>>>>          </value>
>>>>>
>>>>>          <value name="user">www</value>
>>>>>          <value name="group">www</value>
>>>>>
>>>>>          <value name="pm">
>>>>>              <value name="style">static</value>
>>>>>              <value name="max_children">150</value>
>>>>>              <value name="apache_like">
>>>>>                  <value name="StartServers">25</value>
>>>>>                  <value name="MinSpareServers">5</value>
>>>>>                  <value name="MaxSpareServers">35</value>
>>>>>              </value>
>>>>>          </value>
>>>>>
>>>>>          <value name="request_terminate_timeout">0s</value>
>>>>>          <value name="request_slowlog_timeout">0s</value>
>>>>>          <value name="slowlog">/var/log/php-fpm.log.slow</value>
>>>>>          <value name="rlimit_files">1024</value>
>>>>>          <value name="rlimit_core">0</value>
>>>>>          <value name="chroot"></value>
>>>>>          <value name="chdir"></value>
>>>>>          <value name="catch_workers_output">yes</value>
>>>>>          <value name="max_requests">65536</value>
>>>>>          <value name="allowed_clients">127.0.0.1</value>
>>>>>
>>>>>          <value name="environment">
>>>>>              <value name="HOSTNAME">$HOSTNAME</value>
>>>>>              <value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
>>>>>              <value name="TMP">/tmp</value>
>>>>>              <value name="TMPDIR">/tmp</value>
>>>>>              <value name="TEMP">/tmp</value>
>>>>>              <value name="OSTYPE">$OSTYPE</value>
>>>>>              <value name="MACHTYPE">$MACHTYPE</value>
>>>>>              <value name="MALLOC_CHECK_">2</value>
>>>>>          </value>
>>>>>      </section>
>>>>>  </workers>
>>>>> </configuration>
>>>>> [/code]
>>>>>
>>>>> Server config :
>>>>>
>>>>> [code]
>>>>> Intel Corei5 (Lynnfield) 4x 2.66+ GHz 8 Mo L2 - FSB 1333 MHz
>>>>> 64 bits
>>>>> 8 Go DDR3
>>>>> Intel SSD X25-M 2x 80 Go RAID    0/1
>>>>> GigaEthernet
>>>>> [/code]
>>>>>
>>>>> If anyone have an idea :)
>>>>>
>>>>> It's very strange because it's instant and random whereas it would be
>>>>> timedout all the time :/
>>>>>
>>>>> Thank's in advance.
>>>>>
>>>>> Posted at Nginx Forum:
>>>>> http://forum.nginx.org/read.php?2,91854,91854#msg-91854
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> nginx mailing list
>>>>> nginx at nginx.org
>>>>> http://nginx.org/mailman/listinfo/nginx
>>>>>
>>>>
>>>> _______________________________________________
>>>> nginx mailing list
>>>> nginx at nginx.org
>>>> http://nginx.org/mailman/listinfo/nginx
>>>>
>>>
>>>
>>> _______________________________________________
>>> nginx mailing list
>>> nginx at nginx.org
>>> http://nginx.org/mailman/listinfo/nginx
>>>
>>>
>>>
>> _______________________________________________
>> nginx mailing list
>> nginx at nginx.org
>> http://nginx.org/mailman/listinfo/nginx
>>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20100530/0015097d/attachment.html>


More information about the nginx mailing list