Performance Optimierung
- Server von Scratch aufsetzen. Nur das, was auch wirklich gebraucht wird.
- Unnötige Drupal Modul entfernen (z.B. Statistik)
- Views, welche problematisch sind entfernen
- CCK durch eigenes Modul ersetzt -> da nur ganz wenige Felder benutzt wurden
Hardware
- Fast Disk 15'000 RPM
- MySQL auf einer Disk, alles andere auf einer anderen Disk
Software
- Server Distroedition (z.B. Ubuntu Server)
- Apache (MPM Worker threaded, Apache fcgid
- PHP (FastCGI, APC via pecl)
- Munin for monitoring
- Awstats
Drupal
- Keine Kommentare
- Voting
- Book module
- Nur 44 Module total
- Normale Drupalsites 120 Module (bis 231 Module)
- Simplicity!!! Weniger Probleme, einfacher zum Pflegen
Möglichkeiten für Optimierungen
- Patch für Pfadlook up
http://drupal.org/node/106559 - Locking Problem in Menu ist ab 6.16 gelöst
- 404 Error Handling nicht optimal
http://drupal.org/node/76824 - Einige Crawlers aussperren
- Apache Logging. Regeln aufsetzen, dass .jpg, .png, .css usw. nicht mehr geloggt werden.
- innodb-file-per-table
- innodb_buffer_pool_size = 256M
- long_query_time = 2 (Weitere Konfigurationsdaten in den Unterlagen)
- Es sind nur gewisse Tabelle in InnoDb. Die transformieren, welche viel Locking haben.
Wie lösen? Jede Seite ist einzigartig. Zuerst sauber analysieren, wo die Probleme liegen, dann überlegen und die Probleme lösen. Dazu ist es wichtig zu messen und zu monitoren! Peaks können erkannt werden und dann danach gesucht werden.
Problematische Module:
- Statistics
- QuickTabs (wenn entsprechend konfiguriert)