Following are some important configurations that will speed up the Magento site. This tutorial is mainly focusing on my.cnf, php.ini and apache configuration files.

1. MySQL Configuration

Proper MySQL configuration will speed up the performance of the system. Below are the necessary configurations for MySQL.

innodb_thread_concurrency = 2 * [numberofCPUs] + 2
innodb_flush_log_at_trx_commit = 2
thread_concurrency = [number of CPUs] * 3
thread_cache_size = 32
table_cache = 1024
query_cache_size = 64M
query_cache_limit = 2M
join_buffer_size = 8M
tmp_table_size = 256M
key_buffer = 32M
innodb_autoextend_increment=512
max_allowed_packet = 16M
max_heap_table_size = 256M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_max_extra_sort_file_size = 10G
myisam_repair_threads = 1

In addition to these configurations, we need some more configurations in the innodb. They are:

1. innodb_buffer_pool_size

Combined web and db server, 6 GB RAM – 2-3 GB
Dedicated database server, 6 GB RAM – 5 GB
Dedicated database server, 12 GB RAM – 10 GB

2. innodb_thread_concurrency

2 * [numberofCPUs] + 2

3. table_cache is the number of tables that can be simultaneously opened by MySQL

4. query_cache_size (64 Mb )

5. query_cache_limit (2 Mb)


2. PHP Configuration

The main configuration for php.ini file are the following

realpath_cache_size = 32k
realpath_cache_ttl = 7200
max_execution_time = 90
max_input_time = 90
memory_limit = 256M
default_socket_timeout = 90
pdo_mysql.cache_size = 2000
output_buffering = 4096

3. Apache Configurations

Main apache configurations include:

1. Enable 'Keep Alive'

KeepAlive provides long-lived HTTP sessions which allow multiple requests to be sent over the same TCP connection. In some cases this has been shown to result in an almost 50% speedup in latency times for HTML documents with many images.

2. Eliminating directory structure scans for the .htaccess

3. Apache modules -Use just necessary apache modules