Re: [users@httpd] Apache Performance Question
Thank you so much Philip, another question. I see MaxClients in 2 files: extra\httpd-mpm.conf and original\extra\httpd-mpm.conf I assume I should change the one in extra directory or? Also, I see in both of these files, 3 areas: prefork MPM (set to 150), worker MPM (set to 150), and BeOS MPM (set to 50). I assume I use the worker MPM or? And what should I set it to In regards to ServerLimit, I see it in none of Apache 2.2 config files. Where do I find this? Much appreciated On Thu, Jul 23, 2015 at 5:14 AM, Philip Wigg p...@philipwigg.co.uk wrote: Hi, There is a limit on the number of concurrent connections that Apache will serve. See if you can find the 'LogLevel' directive in your configuration and then set it to 'info'. Apache will then print warnings in your error log if you're reaching those limits. http://httpd.apache.org/docs/2.2/mod/core.html#loglevel You can also use the /server-status page to check this:- http://httpd.apache.org/docs/2.2/mod/mod_status.html or for a rough point-in-time estimate you can simply use 'netstat' to see how many established connections you have to your HTTP port (probably port 80). The command:- netstat -tan | grep ':80' | grep EST | wc -l is quite possibly what you need depending on your OS and Apache version which will count the established connections to port 80 on Linux. If you do need to increase the number of concurrent connections, you will probably need to raise MaxClients and ServerLimit. See - http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients Hope that helps. Phil. - To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org For additional commands, e-mail: users-h...@httpd.apache.org -- Dino Buljubasic Cell: (604) 441-3560
Re: [users@httpd] Apache Performance Question
Hi, There is a limit on the number of concurrent connections that Apache will serve. See if you can find the 'LogLevel' directive in your configuration and then set it to 'info'. Apache will then print warnings in your error log if you're reaching those limits. http://httpd.apache.org/docs/2.2/mod/core.html#loglevel You can also use the /server-status page to check this:- http://httpd.apache.org/docs/2.2/mod/mod_status.html or for a rough point-in-time estimate you can simply use 'netstat' to see how many established connections you have to your HTTP port (probably port 80). The command:- netstat -tan | grep ':80' | grep EST | wc -l is quite possibly what you need depending on your OS and Apache version which will count the established connections to port 80 on Linux. If you do need to increase the number of concurrent connections, you will probably need to raise MaxClients and ServerLimit. See - http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients Hope that helps. Phil. - To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org For additional commands, e-mail: users-h...@httpd.apache.org
Re: [users@httpd] Apache Performance Question
In the past on our 2.2 configs we used prefork with mod_php To set our MaxClients we determine an average amount of RAM used by httpd processes by looking at top output, we then divide the (total amount of physical RAM minus enough RAM to run the OS) by the average RAM used by httpd processes. In 2.4 we are using event MPM with PHP-FPM. So for MaxRequestWorkers we get the average RAM per httpd process like above plus the average RAM per PHP-FPM process then divide the physical RAM by that. I am not clear on how to determine the other 2.4 event MPM config settings (MaxConnectionsPerChild, etc.). There doesn't seem to be much reference to event specific settings and how to arrive at values here, http://httpd.apache.org/docs/2.4/mod/mpm_common.html If you have a lot of RAM and not a proportional amount of cpu then to me your cpu is the constraint. On 7/23/15 8:14 AM, Philip Wigg p...@philipwigg.co.uk wrote: Hi, There is a limit on the number of concurrent connections that Apache will serve. See if you can find the 'LogLevel' directive in your configuration and then set it to 'info'. Apache will then print warnings in your error log if you're reaching those limits. http://httpd.apache.org/docs/2.2/mod/core.html#loglevel You can also use the /server-status page to check this:- http://httpd.apache.org/docs/2.2/mod/mod_status.html or for a rough point-in-time estimate you can simply use 'netstat' to see how many established connections you have to your HTTP port (probably port 80). The command:- netstat -tan | grep ':80' | grep EST | wc -l is quite possibly what you need depending on your OS and Apache version which will count the established connections to port 80 on Linux. If you do need to increase the number of concurrent connections, you will probably need to raise MaxClients and ServerLimit. See - http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients Hope that helps. Phil. - To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org For additional commands, e-mail: users-h...@httpd.apache.org - To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org For additional commands, e-mail: users-h...@httpd.apache.org
Re: [users@httpd] Apache Performance Question
Thank you for the reply John. I'm using Apache 2.2 and I'm novice, would you mind providing some detailed steps to figure out what the issue is? If my initial explanation is vague, what other info do you need if any? Much appreciated On Jul 23, 2015 6:30 AM, Rose, John B jbr...@utk.edu wrote: In the past on our 2.2 configs we used prefork with mod_php To set our MaxClients we determine an average amount of RAM used by httpd processes by looking at top output, we then divide the (total amount of physical RAM minus enough RAM to run the OS) by the average RAM used by httpd processes. In 2.4 we are using event MPM with PHP-FPM. So for MaxRequestWorkers we get the average RAM per httpd process like above plus the average RAM per PHP-FPM process then divide the physical RAM by that. I am not clear on how to determine the other 2.4 event MPM config settings (MaxConnectionsPerChild, etc.). There doesn't seem to be much reference to event specific settings and how to arrive at values here, http://httpd.apache.org/docs/2.4/mod/mpm_common.html If you have a lot of RAM and not a proportional amount of cpu then to me your cpu is the constraint. On 7/23/15 8:14 AM, Philip Wigg p...@philipwigg.co.uk wrote: Hi, There is a limit on the number of concurrent connections that Apache will serve. See if you can find the 'LogLevel' directive in your configuration and then set it to 'info'. Apache will then print warnings in your error log if you're reaching those limits. http://httpd.apache.org/docs/2.2/mod/core.html#loglevel You can also use the /server-status page to check this:- http://httpd.apache.org/docs/2.2/mod/mod_status.html or for a rough point-in-time estimate you can simply use 'netstat' to see how many established connections you have to your HTTP port (probably port 80). The command:- netstat -tan | grep ':80' | grep EST | wc -l is quite possibly what you need depending on your OS and Apache version which will count the established connections to port 80 on Linux. If you do need to increase the number of concurrent connections, you will probably need to raise MaxClients and ServerLimit. See - http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients Hope that helps. Phil. - To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org For additional commands, e-mail: users-h...@httpd.apache.org - To unsubscribe, e-mail: users-unsubscr...@httpd.apache.org For additional commands, e-mail: users-h...@httpd.apache.org
[users@httpd] Apache Performance Question
I am new to Apache, please provide adequate answer with information. Apache (2.2) is serving requests from bar-code scanning devices which scan items in warehouse. It could be 1-50 or so devices doing scans at any time. All scans will update item location in database and Apache server is the middle man between devices and database. The requests from devices are sent asynchronously, so a device will not wait for a result of a scan, but it can be just pointed to another item to scan it. So, a device could send say 2-4 request per second, the more devices, the more requests. However, we have a situation where Apache will stop responding for couple of seconds every once in a while a few times a day. There is nothing else on this machine, just the Apache server serving requests coming only from devices, nothing else. Problem is that if devices sends request at the time Apache is not responding for couple of seconds, the requests will timeout. I wonder if this is caused by some kind of Apache threshold being reached and when that happens, Apache will stop responding for couple of seconds until new requests can be processed. What settings should I be looking at, how to set them, and where? Please explain as I am new to Apache. Much appreciated,