Bei der Installation von Magento auf einem dedizierten Server gibt es einige Möglichkeiten der Optimierung. Dieser Eintrag dient als erste Orientierung und als Gedankenstütze – kann man sich ja alles unmöglich merken. Beachtet bitte, dass dies natürlich keine allgemeingültige Anleitung sein kann. Je nach Projektumfeld gibt es Unterschiede. Als erster Ansatz aber sollte das besser als eine Standardinstallation laufen.

Folgende Pakete werden benötigt und müssen installiert werden (debian)

apache2 libapache2-mod-php5 php5-gd php5-mysql varnish php-apc git-core

Modman erleichtert die Installation und das Maintenance von Magento Modulen

wget http://module-manager.googlecode.com/files/modman-1.4.6
chmod +x modman-1.4.6

MySQL 5.5 manuell installieren und die Magento Datenbank erstellen.
(Passwort ggf. anpassen)

CREATE DATABASE magento;
CREATE USER ‘magento’@'localhost’ IDENTIFIED BY ‘magento’;
GRANT ALL PRIVILEGES ON magento.* TO ‘magento’@'localhost’IDENTIFIED BY ‘magento’ WITH GRANT OPTION;

Magento Cache und Sessions in den RAM legen.

mount tmpfs /var/www/var/cache -t tmpfs -o size=64m
mount tmpfs /var/www/var/session -t tmpfs -o size=64m

Apache module entfernen die nicht benötigt werden

rm -rf /etc/apache2/mods-enabled
a2enmod expires deflate mime dir rewrite authz_host php5

Folgende Einstellungen in der php.ini vornehmen

realpath_cache_size = 32k
realpath_cache_ttl = 7200

Folgende PHP Module können deaktiviert werden

dbase.so
json.so
mysqli.so
mysql.so
pdo_sqlite.so
sqlite.so
wddx.so
xmlreader.so
xmlwriter.so
xsl.so
zip.so

Diese PHP Module müssen zwingend aktiv sein

bcmath.so
curl.so
dom.so
gd.so
mcrypt.so
mhash.so
pdo.so
pdo_mysql.so

In der apc.ini folgende Werte hinterlegen

extension=apc.so
apc.shm_size=256
apc.num_files_hint=10000
apc.user_entries_hint=10000
apc.max_file_size=5M

Apache Einstellungen

keepalive off
timeout 120

StartServers 100
MinSpareServers 100
MaxSpareServers 150
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000

MySQL Einstellungen

max_connections = 256
table_cache = 1024
max_heap_table_size = 64M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_concurrency = 8
tmp_table_size = 64M
key_buffer_size = 32M
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
myisam_recover
query_cache_limit = 2M
query_cache_size = 64M

In der Magento /app/etc/local.xml APC als backend setzen

<cache>
<backend>apc</backend>
<fast_backend>apc</fast_backend>
<slow_backend>database</slow_backend>
</cache>

Full page Cache installieren und aktivieren

https://github.com/madalinoprea/magneto-varnish