Improving Apache Clustered Performance

  1. Use Apache 2.4 (so if you use Centos / RHEL, use v7). This has lower memory requirements, stable Event MPM (see below) and far more functionality.
  2. If you terminate SSL at Apache, use a clustered cache to keep track of SSL sessions. Otherwise the SSL session establishment will have to be renegotiated every time you hop server (if you have sticky sessions at the load balancer, this may not be the case, but sticky sessions can be unreliable) and this is very expensive.
  3. Consider using nginx or the event MPM where you can (eg for static requests).
  4. Disable Etags (FileEtag None). As with SSL, you will get a new Etag every time you hop server (so sticky session caveat applies again) breaking the client side cacheing. Disabling Etags will drop back to Last-modified.