Edjet LMS Server

Optimizations

There are other possible server-side optimizations to speed up the entire application. This is supposed to be tuned based on analysis of the real situation to determine the bottlenecks.

Webserver

  • Apache tuning – minimizing the memory footprint (unused modules, custom compilation)
  • Change MPM module from prefork to worker (less memory usage, better for more CPUs)
  • Choosing a different webserver faster and less memory consuming than Apache (nginx, lightppd,...)

Apache configuration

All changes are recommended to do using Apache .conf file.
After changes restart the webserver (stop+start can be not enough).

Note: All following setting are done on Apache 2.2.16 on Debian 6

===Tabulka===

Database performance issues

Performance problems can be often solved by optimization of database views and functions after analysis of current bottlenecks. Also, an indexes can be build to speed and lower the load.

Connection pooling

If the bottleneck is a number of connections, setup a pgpool or other connection pooling software.

PostgreSQL configuration

All changes are recommended to do using PostgreSQL .conf file.
After changes restart the PostgreSQL.

Note: All following setting are done on PostgreSQL 8.4 on Debian 6 with 24GB RAM.

===Tabulka===

* need to change kernel SHMMAX to value of combined needed amount of memory, in this case 50% of available free memory with some spare space - 12 GB.

How to change SHMMAX option on Debian 6

  • add to /etc/sysctl.conf this line:
    kernel.shmmax = <value in bytes>
  • apply new setting by running:
    sysctl -p /etc/sysctl.conf

Kernel

Tune kernel parameters according to webserver and postgres needs (SHMMAX etc.).

Related