Wie findet man den Flaschenhals bei einem Webshop? Ein paar Überlegungen zur Eingrenzung:
Sind alle Requests gegen den Webserver langsam oder nur dynamische Inhalte (PHP) ?
Sind die Requests auch lokal langsam?
time curl -H „Host: vhost.doman.tld“ http://localhost:7080/
(Unsere Domain lautet vhost.domain.tld“ und diese ist unter Port 7080 erreichbar)
real 0m3.454s
user 0m0.009s
sys 0m0.020s
Ist unter Umständen die lokale Datenbank langsam (Thema Disk I/O)?
Langsame Abfrage in MySQL aktivieren über die my.conf:
log_slow_queries=/var/log/mysql/slow-query.log
long_query_time=0.5
log_queries_not_using_indexes=YES
Alles was länger dauert wie eine halbe Sekunde wir protokolliert.
Sind vielleicht die lokalen Platten langsam?
dd if=/dev/zero of=/root/testfile bs=1G count=1 oflag=direct
68.0 MB/s = z.B. SATA Raid1
130 MB/s = älterer SAS Raid-Kontroller
160MB/s = neuerer SAS Raid-Kontroller
200MB/s = SSD Festplatte
Ist der Webserver unter Umständen zu sehr belastet?
ps auxw | grep sbin/apache | awk ‚{print“-p “ $2}‘ | xargs strace -tt
(dies attached sich an alle laufenden Apache Instanzen und überwacht diese mit Zeitstempeln)