Es gibt verschiedene Versionen der "Latenzdiagramme, die jeder kennen sollte", wie zum Beispiel:
Die Sache ist, dass es in Wirklichkeit mehr als nur Latenz gibt. Es ist eine Kombination von Faktoren.
Wie hoch ist die Netzwerklatenz in einem Rechenzentrum? Latenz Nun, ich würde sagen, es ist "immer" unter 1 ms. Ist es schneller als RAM? Ist es in der Nähe von RAM? Ich glaube nicht.
Aber die Frage bleibt, ist es relevant. Ist das das Datum, das Sie wissen müssen? Ihre Frage ergibt für mich einen Sinn. Da alles mit Kosten verbunden ist, sollten Sie mehr RAM benötigen, damit alle Daten im RAM verbleiben können, oder es ist in Ordnung, von Zeit zu Zeit Daten von der Festplatte zu lesen.
Ihre "Annahme" ist, dass, wenn die Netzwerklatenz höher (langsamer) als die Geschwindigkeit der SSD ist, Sie nicht alle Daten im RAM haben, da Sie die langsame im Netzwerk haben werden.
Und es scheint so. Sie müssen jedoch auch die Parallelität berücksichtigen. Wenn Sie 1.000 Anforderungen für die Daten gleichzeitig erhalten, kann der Datenträger 1.000 gleichzeitige Anforderungen ausführen? Natürlich nicht. Wie lange wird es dauern, diese 1.000 Anfragen zu bearbeiten? Im Vergleich zu RAM?
Es ist schwer, es auf einen einzigen Faktor wie schwere Lasten zurückzuführen. Aber ja, wenn Sie nur eine Operation ausführen, ist die Latenz des Netzwerks so hoch, dass Sie den Unterschied zwischen SSD und RAM wahrscheinlich nicht bemerken werden.
So wie es bis zum Erscheinen einer 12-Gbit / s-Festplatte auf dem Markt war, würde eine 10-Gbit / s-Netzwerkverbindung nicht durch einen einzelnen Stream überlastet, da die Festplatte der Engpass war.
Denken Sie jedoch daran, dass Ihre Festplatte viele andere Aufgaben übernimmt, dass Ihr Prozess nicht der einzige Prozess auf dem Computer ist, dass Ihr Netzwerk möglicherweise andere Aufgaben übernimmt usw.
Außerdem bedeuten nicht alle Festplattenaktivitäten Netzwerkverkehr. Die Datenbankabfrage, die von einer Anwendung an den Datenbankserver gesendet wird, ist nur ein sehr geringer Netzwerkverkehr. Die Antwort vom Datenbankserver kann sehr klein (eine einzelne Zahl) oder sehr groß (tausend Zeilen mit mehreren Feldern) sein. Um den Vorgang auszuführen, muss ein Server (Datenbankserver oder nicht) möglicherweise mehrere Festplattensuchen, -lesen und -schreiben ausführen, sendet jedoch nur ein sehr kleines Stück über das Netzwerk zurück. Es ist definitiv kein 1: 1-Netzwerk-Festplatten-RAM.
Bisher habe ich einige Details Ihrer Frage vermieden - insbesondere den Redis-Teil.
Redis ist ein Open Source (BSD-lizenzierter) In-Memory-Datenstrukturspeicher, der als Datenbank-, Cache- und Nachrichtenbroker verwendet wird. - https://redis.io/
OK, das bedeutet, dass sich alles im Speicher befindet. Entschuldigung, dieses schnelle SSD-Laufwerk hilft Ihnen hier nicht weiter. Redis kann Daten auf der Festplatte persistieren, so dass sie nach einem Neustart in den RAM geladen werden können. Das bedeutet nur, dass Sie nach einem Neustart keine Daten "verlieren" oder einen kalten Cache neu füllen müssen. In diesem Fall müssen Sie also den Arbeitsspeicher verwenden, egal was passiert. Sie müssen über genügend RAM verfügen, um Ihren Datensatz aufnehmen zu können. Nicht genug RAM und ich vermute, dass Ihr Betriebssystem verwendet wird swap
- wahrscheinlich keine gute Idee.