Wenn Sie so etwas profilieren, um den Engpass zu finden, müssen Sie die Dinge einzeln ausschließen. Sie benötigen eine Basislinie, um Vergleiche zu erhalten. Wenn Sie das Tool "ab" installiert haben (es wird mit Apache geliefert), können Sie dies verwenden.
Um Ihre Basislinie zu erhalten, empfehle ich, den Durchschnitt von mindestens ein paar hundert Anfragen zu erhalten. Hier ist ein Beispiel:
$ ab -n 400 http://yousite/
Durchsuchen Sie die Ergebnisse nach der Zeile "Zeit pro Anfrage". Sie sieht ungefähr so aus:
Time per request: 96.031 [ms] (mean)
Notieren Sie sich diese Zeit, da dies die Basislinie ist.
Um Apache als Täter auszuschließen, erstellen Sie eine statische Seite auf Ihrem Server (speichern Sie einfach das HTML einer Seite, die Sie für langsam / träge halten) und führen Sie ab erneut aus.
Wirf etwas PHP in die statische Seite. Es muss nicht viel davon sein, aber es sollte tatsächlich etwas Arbeit leisten. MediaWiki ist ein ziemlich guter Code. Wenn also ein PHP-Engpass auf Ihrem System vorliegt, würde mein Geld darin bestehen, den PHP-Stack tatsächlich in den Speicher zu laden und den Test erneut durchzuführen.
Schauen Sie sich die drei Zahlen an und sehen Sie, wo der größte Sprung zwischen den nächsten Schritten liegt. Meine Wette wäre, dass MySQL das langsamste der drei ist, aber es könnte sehr gut sein, dass Sie viele Bilder auf einer Seite laden, die die Gesamtanforderungszeit verlangsamt. In diesem Fall möchten Sie möglicherweise das Design des überdenken Seite.