Nur interessiert, was ist der Unterschied zwischen EC2 und Linode basierend auf meinen Ergebnissen. Mir ist klar, dass es eine Million Dinge gibt, die schiefgehen können. Ich frage mich nur, wo ich anfangen soll.Leistungsunterschied zwischen Amazon EC2 und Linode
Ich habe Anfragen auf meiner Blog-Zielseite (via Apache Benchmark) zeitlich abgestimmt. Es hat etwa 22 SQL Abfragen und eine angemessene Menge an HTML. Ich habe die gleiche Website auf zwei Servern eingerichtet.
Web1 - Hosted bei Linode (512 Größe VPS).
Web2 - Hosted bei Amazon (Mikro-VPS).
Dann habe ich getestet, 100 gleichzeitige Verbindungen zu beiden. Ich führte den Test zuerst durch, um die Datenbank aufzuwärmen, dann lief sie wirklich.
Web1 - 33 Anfragen pro Sekunde.
Web2 - 5 Anfragen pro Sekunde.
Dann habe ich Seitencaching installiert. Hier speichert es den vollständigen HTML-Return in einer Datei. Anstatt also den PHP-Controller zu durchlaufen und Datenbankverbindungen herzustellen, gibt es nur die statische HTML-Datei zurück.
Web1 - 32 Anfragen pro Sekunde.
Web2 - 88 Anfragen pro Sekunde.
Sie werden feststellen, dass Dateicaching nicht wirklich viel auf Web1 tut. Scheint, dass die Datenbank/PHP so schnell zurückkehrt und nur eine Datei öffnet und zurückgibt. Sie werden auf Web2 bemerken, dass es im Vergleich zur ersten Anfrage schnell verrückt geworden ist.
Ich habe diese Messungen ein paar Mal im Laufe des Tages gemacht. Es handelt sich nicht um eine einmalige Sache.
Hier ist, was ich weiß.
- Beide Systeme sind gleich. Als ich sie beide mit den gleichen Deploy-Skripten konfiguriert habe.
- Web2 (Amazon) läuft höchstwahrscheinlich auf einem SAN (dem Dateisystem).
- Web1 (Linode) läuft höchstwahrscheinlich von einer lokalen Festplatte (dem Dateisystem).
- Nicht sicher, welche CPUs dahinter stehen. Ich würde annehmen, dass sie unterschiedliche CPUs sind. Ich kann mir nicht vorstellen, dass es einen großen Unterschied in der CPU gibt.
Ich bin wirklich daran interessiert, herauszufinden, was Web2 langsam macht so, wenn kein Cache ist und ziemlich schnell, wenn Caching ist und Web1 ist das in beiden Richtungen gleich.
Was sind Ihre Ideen? CPU, IO?
Was würden Sie tun, um den Engpass aufzuspüren?
Ich sehe keine verrückten Lasten (mit "w"). Nicht 100% was ist wertvoll in "iostat" (was ich sehen sollte).
Danke.
Korrektur. Die Durchführung von Tests später am Tag führt zu besseren Ergebnissen mit Web1, wenn das Caching aktiviert ist. Ich komme jetzt auf 130 Anfragen pro Sekunde. Die größte Frage ist also, was Web2 zurückhält, wenn das Caching nicht aktiviert ist. 5 Anfragen eine Sekunde ist Hund langsam. – spicer