Langsame Antwort des Apache-Webservers vor dem Bereitstellen von Dokumenten, CSS und Bildern

Langsame Antwort des Apache-Webservers vor dem Bereitstellen von Dokumenten, CSS und Bildern

Ich habe eine Website, auf der WordPress (PHP und MySQL) läuft. Die Website reagiert sehr langsam auf Anfragen.

Wenn ich mir einen Webinspektor in Safari ansehe, scheint das Problem nicht die Dateigröße zu sein.

http://img.skitch.com/20100127-1yjnf586wdr3tx4akk8fj5qwhx.png

Es dauert 5 Sekunden, bis Inhalte bereitgestellt werden. Welche Maßnahmen kann ich ergreifen? Ich bin neu in der Serveradministration und dies ist nur ein gemeinsam genutzter Server. Ich habe keine vollständige Kontrolle, aber es könnte sich lohnen, zu versuchen, ihn zu optimieren.

Ich habe es traceroutemit pingBefehlen versucht, aber die Befehle funktionieren ohne Probleme.

Antwort1

Sie müssen unbedingt über Administratorrechte verfügen, um echte Fehlerbehebungen auf dem Server durchführen zu können.

Wenn Sie jedoch herausfinden möchten, ob es an Ihrem Code oder am Server liegt (heh), gibt es ein paar Schritte, die Sie unternehmen können. Einer davon ist, Ihrem PHP-Code einen Timer hinzuzufügen, um zu sehen, wie lange die Ausführung auf dem Server dauert. VonHier:

<!-- put this at the top of the page --> 

<?php 
  $mtime = microtime(); 
  $mtime = explode(' ', $mtime); 
  $mtime = $mtime[1] + $mtime[0]; 
  $starttime = $mtime; 
?> 

<!-- put other code and html in here --> 

<!-- put this code at the bottom of the page --> 
<?php 
  $mtime = microtime(); 
  $mtime = explode(" ", $mtime); 
  $mtime = $mtime[1] + $mtime[0]; 
  $endtime = $mtime; 
  $totaltime = ($endtime - $starttime); 
  echo 'This page was created in ' .$totaltime. ' seconds.'; 
?>

Hiermit können Sie erkennen, ob die Geschwindigkeit des Servers tatsächlich gegeben ist oder ob es an der Verbindung liegt.

Wenn der Server langsam ist, können Sie eine Reihe von Schritten unternehmen, aber Sie benötigen Administratorrechte, um weiterzugehen, insbesondere, da Sie WordPress verwenden, das auf Hunderttausenden von Servern weltweit läuft und ziemlich optimiert ist.

Sie können auch versuchen, Plug-Ins zu deaktivieren und nacheinander zu aktivieren, um zu sehen, ob eines davon die Ursache für die Verlangsamung ist.

Antwort2

Es hat wahrscheinlich nichts mit der Größe der Dateien zu tun. Wenn Sie WordPress verwenden, sind Ihre Rückstände Datenbank und Prozessor. Datenbank zum Wiederherstellen aller Informationen darüber, wie die Seite aussehen soll, den Inhalt usw. Und Prozessor zum Kompilieren all dieser Dinge in einem tatsächlichen Dokument und zum Versenden.

Vielleicht sollten Sie die Cache-Einstellungen von Apache optimieren. Wenn bestimmte Seiten häufig aufgerufen werden, ist es sinnlos, sie immer wieder neu zu erstellen.

Antwort3

Versuchen Sie es mit Firefox und installieren Sie dafür ein Plugin namens Firebug (http://getfirebug.com/). Sobald Sie es eingerichtet haben, aktivieren Sie das „Net“-Panel und laden Sie Ihre Seiten neu. Dadurch wird Ihnen die Zeit angezeigt, die für jeden Teil der Serverantwort benötigt wird, einschließlich der anfänglichen Verbindungsgeschwindigkeit, der Downloadzeit, der Verzögerung der Serverantwort usw. Sie können dieses Panel auch verwenden, um zu sehen, ob Sie Elemente wie JavaScript, Bilder und CSS zwischenspeichern.

Da Sie Shared Hosting verwenden, haben Sie SEHR wenig Kontrolle über die Einrichtung Ihres Servers, Sie können die Dinge jedoch auf andere Weise beschleunigen, indem Sie genau darauf achten, was Sie von dem Server verlangen.

Viel Glück! Und gewöhnen Sie sich an die Verwendung von Firebug, es ist ein Lebensretter.

Eine letzte Sache: Stellen Sie sicher, dass Sie die aktuellste Version von WordPress verwenden, die Sie bekommen können, und verwenden Sie nicht zu viele Plugins. Jeder zusätzliche Aufwand wird Ihre Ladezeit verlangsamen.

Antwort4

Wordpress ist wie viele andere CMS da draußen dafür bekannt, recht schwer zu sein. Es überrascht mich nicht, dass es bei einem gemeinsam genutzten Server zu solchen Verzögerungen bei der Bereitstellung des ersten Bytes kommt.

Als erstes müssen Sie sicherstellen, dass Sie einen verfügbaren Opcode-Cache haben (php-apc ist der „Standard“), da Wordpress ohne einen solchen die Homepage jedes Mal generiert, wenn ein neuer Benutzer sie anfordert. Wenn apc auf dem Server installiert ist und Sie eine Möglichkeit haben, es zu konfigurieren, können Sie zunächst diese Konfiguration ausprobieren:

apc.enabled=1
apc.shm_size=64
apc.max_file_size=3M
apc.ttl=7200
apc.user_ttl=7200
apc.stat_ctime=1

Dann werfen Sie einen Blick auf die Statistiken, die das im Paket enthaltene Skript apc.php liefert. Es wird Ihnen helfen,diese Werteangemessener.

Als Zweites werde ich ein Cache-Plugin für Wordpress wie dieses verwenden:http://wordpress.org/extend/plugins/w3-total-cache/

Der Inhalt wird bei der ersten Anforderung gerendert und anschließend, wann immer möglich, statischer Inhalt bereitgestellt.

verwandte Informationen