Hi it seems that my servers couldn't handle the traffic during peak hours and Apache seems to just crash.
Here's some info on the server:
- Xeon 5110 @ 1.6ghz
4Gb Ram
Windows 2003 Server
- Apache 2.2.11 for Windows
- mod_fcgid (from apachelounge.com)
- PHP 5.2 with eAccelerator installed
- It's also running MySQL 5.0
It's also running PHP apps like Mediawiki, Joomla, Wordpress and Drupal and we're getting about 18k daily hits.
Here are some important configs from httpd.conf:
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15
##
## Server-Pool Size Regulation (MPM specific)
##
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves MaxClients 125
#<ifModule mpm_common>
#MaxClients 140
#</IfModule>
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>
### END
Here are the configs for eAccelerator from php.ini:
[eAccelerator]
extension="eaccelerator.dll"
eaccelerator.shm_size="64"
eaccelerator.cache_dir="C:\Temp\eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
accelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
eaccelerator.keys = "shm"
eaccelerator.sessions = "shm"
eaccelerator.content = "shm"
eaccelerator.debug="0"
I know that it's very wrong to run Apache on a Windows machine but I have to bear with this for the time being (not my call unfortunately).
Is there something wrong with my configs? Is there a solution so that the servers can handle the load? Any help would be appreciated. Thanks in advance!