Datenbank-Netzwerk-Latenz
Derzeit arbeite ich an einem n-tier system und kämpfen einige Datenbank-performance-Probleme.
Einen Bereich haben wir schon untersucht, ist die Latenz zwischen dem Datenbank-server und dem application server. In unserer test-Umgebung die
Durchschnittliche ping-Zeiten zwischen den beiden Boxen ist in der region von 0,2 ms jedoch auf die Kunden seiner Website mehr in der region von 8,2 ms. Ist, dass
was sollten wir besorgt sein?
Für Ihre Durchschnittliche Systems was tun Sie Jungs betrachten einer vernünftigen Latenz und wie würden Sie gehen über-Prüfung/Messung der Latenz?
Karl
InformationsquelleAutor Karl | 2009-03-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurz : Nein !
Was Sie überwachen sollten, ist die Globale performance Ihrer Abfragen (ie-transport der DB + Ausführung + transport zurück zu Ihrem server)
Was Sie tun können, verwenden Sie einen Leistungsindikator überwacht die Zeit, Ihre Fragen in der Regel nehmen Sie zu führen.
Wahrscheinlich sehen Sie Ihre Ergebnisse über den Millisekunden-Bereich.
Gibt es keine solche Sache wie "Angemessene Wartezeit". Sie sollten vielmehr überlegen, die "Angemessene Wartezeit für Ihr Projekt", das wäre sehr unterschiedlich sein, je nachdem, was Sie gerade arbeiten.
Menschen haben nicht die gleiche Erwartung für eine real-time-trading-Plattform und für ein nur-lese-amateur-website.
InformationsquelleAutor Brann
Auf einem linux-basierten server können Sie testen Sie die Auswirkungen von Latenz sich mit dem tc-Befehl.
Zum Beispiel mit diesem Befehl fügen 10ms Verzögerung auf alle Pakete, die über eth0
verwenden Sie diesen Befehl, um die Verzögerung
Mehr details finden Sie hier:
http://devresources.linux-foundation.org/shemminger/netem/example.html
Alle Anwendungen unterscheiden sich, aber ich habe definitiv gesehen, Situationen, in denen die 10ms Latenz, hat einen erheblichen Einfluss auf die Leistung des Systems.
InformationsquelleAutor Hamish Currie
Sorry für die sehr frühen Antwort, aber ich stolperte über diese Frage, wenn ich war auf der Suche nach Metriken, was Netzwerk-Latenzzeiten andere waren erreichen zwischen Ihren app-server und db-server. Wie auch immer, ich bemerkte, dass die anderen Antworten
Sowieso, kurz gesagt : ja, Netzwerk-Latenz (gemessen mit ping) kann einen riesigen Unterschied machen.
Wenn Ihr Datenbank-Reaktion .001ms dann werden Sie sehen, eine riesige Auswirkungen von 0.2 ms bis 8 MS ping. Ich habe gehört, dass die Datenbank-Protokolle sind gesprächig, das wenn der Wert true bedeutet, dass Sie würde mehr beeinflusst werden durch langsame Netzwerk-Latenz versus http.
Mehr als wahrscheinlich, wenn Sie ausgeführt werden 1 Abfrage, dann hinzufügen von 8ms zu bekommen, die Antwort der db ist nicht die Materie. Aber wenn Sie das tun, werden 10.000 Abfragen, das geschieht in der Regel mit schlechtem code oder nicht-optimiert Verwendung eines ORM, dann müssen Sie warten, eine zusätzliche 80seconds für ein 8ms ping, wo eine 0,2 ms ping, würden Sie nur warten Sie 4 Sekunden.
Als eine Angelegenheit von Politik für mich, ich habe nie lassen Sie client-Anwendungen, die sich mit der Datenbank direkt. Ich verlange, dass client-Anwendungen immer über ein application server (z.B. eine REST-web-Dienst). So, wenn ich versehentlich eine "1+N" ORM Problem, dann ist es nicht annähernd so wirkungsvoll. Ich würde noch versuchen zu beheben das zugrunde liegende problem...
InformationsquelleAutor Bob Thule
Einem der Kopf honchos bei answers.com sagte, nach Ihren Studien, 400 ms warten, Zeit für eine web-Seite zu laden ist über die Zeit, wenn Sie zuerst anfangen, Menschen Abbrechen, die Seite zu laden und gehen an anderer Stelle. Mein Rat ist der Blick auf den gesamten Prozess, von der ursprünglichen client-Anfrage zu die Erfüllung, und wenn es dir gut geht dort, gibt es keine Notwendigkeit, weitere Optimierungen. 8.2 ms vs 0,2 ms ist exponentiell größer im mathematischen Sinn, sondern von einem menschlichen Sinn, niemand kann wirklich wahrnehmen, eine 8.0 ms Unterschied. Es ist, warum Sie haben Foto-Platzierungen bei Rennen 😉
InformationsquelleAutor StackOverflowed