2016-04-26 15 views
0

Ich habe eine PHP, Mysql, Apache-Website. Welche Leistung in der Reihenfolge von 20ms bis 40ms für die Seitenlasten beim lokalen Testen wirklich schnell ist.Sehr hohe TTFB auf Shared-Hosting

Wenn ich dies jedoch auf einem Shared-Hosting-Server gehostet und alle Konfigurationen und Einstellungen so nah wie möglich am lokalen Host konfiguriert habe, sehe ich eine relativ langsame Website.

Die Netzwerklatenz beträgt nur etwa 3 ms, da sich der gemeinsam genutzte Hostserver in derselben Stadt befindet und ein normaler Ping zur IP-Adresse belegt, dass er 3 ms beträgt.

Die Website dauert zwischen 150 ms und 4 Sekunden zum Laden. 90% der Zeit ist es rund 400ms. Und selten dauert es 2 Sekunden und bis zu 4 Sekunden, um die Seite zu laden.

Nach Überprüfung der Zeitleiste. Ich sehe einen sehr hohen TTFB. ein Minimum von 150ms und manchmal sogar 1,6 Sekunden. Ich habe auch bemerkt, dass, wenn dies passiert, die ttfb aller Ressourcen wie font.woff-Dateien etc.cf sehr hoch sind.

Was könnten mögliche Gründe hier sein. Klingt es nach einer schlechten Leistung auf dem Shared-Hosting-Server und sollte ich mich für einen Cloud-basierten Server entscheiden?

Antwort

0

Der Grund dafür ist ziemlich einfach. Localhost wird sehr wohl niedrige Latenzen haben, weil es einfach "lokal" ist.

Sie erhalten nicht die gleiche Leistung auf Shared Hosting-Servern, da Sie nicht für jeden Benutzer die gleiche Art von Latenz bereitstellen. Wenn Ihr Kunde beispielsweise von Asien aus zugreift und Ihr Hosting in den USA stattfindet, müssen Sie hohe Latenzzeiten erwarten. Aber im Gegenteil, wenn Sie einen asiatischen Kunden von einem Hosting in Asien und den US-Kunden von einem Hosting in den USA bedienen, erhalten Sie viel bessere Antwortzeiten.

Eine andere Möglichkeit besteht darin, statische Assets über CDN bereitzustellen. CDN würde Ihre Assets geografisch replizieren und die Verwaltung des Clients vom nächsten replizierten Asset verwalten.

Ein weiterer Grund könnten Ihre Datenzugriffsmuster sein. Wenn Ihr Webserver auf einen Datenbankdienst zugreift, der sich nicht in der Nähe Ihrer Anwendung befindet (in der Nähe ich meine das gleiche lokale Netzwerk) und über die öffentliche DNS-Route gehen muss, verursacht das sehr hohe Latenzen und ist eine schlechte Architektur Muster im Allgemeinen.

Cloud-basierte Server bieten Ihnen zwei wichtigsten Vorteile dieser Hinsicht:

  1. erhalten Sie eine sehr niedrige Latenz lokalen Netzwerk, in dem Sie Maschinen laichen können und um 10Gbps Verbindungen im Netzwerk (interner Latenzen erhalten sind drastisch verbessert!).

  2. Sie erhalten Geo-Replikation (Achtung! Nicht aus dem Kasten heraus, müssen Sie Ihre Architektur entwerfen, und dann die CDN und geo-Replikationsdienste nutzen, indem Sie Ihre Cloud-Anbieter bereitgestellt skalieren)