MySQL and Apache Optimization Guide

Configuring Ubuntu, How To's, LAMP, Open Source, P.C. Linux, Ubuntu, Ubuntu Server

MySQL

Lets first tune MySQL to use less memory for cache.

Open up your MySQL config:

nano /etc/mysql/my.cnf

Below is an example of what you should put in /etc/mysql/my.cnf. Make sure these settings are set in your default file:

[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
set-variable = key_buffer=16K
set-variable = max_allowed_packet=1M
set-variable = thread_stack=64K
set-variable = table_cache=4
set-variable = sort_buffer=64K
set-variable = net_buffer_length=2K

MySQL uses 10MBs of RAM for InnoDB tables. Remove support for InnoDB tables if you do not use them. To remove support for InnoDB, uncomment the line (remove #)

[mysqld]
skip-innodb


Apache/PHP

Now lets tune Apache to only have a small number of spare children running. First open your apache2.conf:

nano /etc/apache2/apache2.conf

Now make sure to modify or adjust these settings (case sensitive):

StartServers 1
MinSpareServers 1
MaxSpareServers 5
ServerLimit 64
MaxClients 64
MaxRequestsPerChild 4000

Also, only load the modules you require. If you do do not use PHP, mod_perl, etc then do not install them.

THATS it tuned and ready to go!

No Comments

Leave a Reply

You must be logged in to post a comment.