「誰もが知っておくべきレイテンシーチャート」には、次のようないくつかのバージョンがあります。
問題は、実際には、待ち時間だけではありません。要因の組み合わせです。
それでは、データセンター内のネットワーク遅延は何ですか?レイテンシーは、1ms未満の「常に」と言えます。RAMよりも高速ですか?いいえ。RAMに近いですか?そうは思いません。
しかし、問題は残っています。それは関連性があります。それはあなたが知る必要があるデータムですか?あなたの質問は私にとって理にかなっています。すべてにコストがかかるので、すべてのデータがRAMにとどまるようにRAMを増やす必要がありますか、ディスクから時々読み込むことができます。
あなたの「仮定」は、ネットワークの遅延がSSDの速度よりも高い(遅い)場合、すべてのデータをRAMに入れてもネットワークの速度が低下するため、得られないことです。
そして、それはそう見えるでしょう。ただし、同時実行性も考慮する必要があります。データに対する1,000のリクエストを一度に受信した場合、ディスクは1,000の同時リクエストを実行できますか?もちろん、そうではないので、1,000件のリクエストを処理するのにどれくらい時間がかかりますか?RAMと比較して?
重い負荷などの単一の要因に要約するのは困難です。しかし、はい、単一の操作を実行している場合、ネットワークの遅延は、おそらくSSDとRAMの違いに気付かないほどです。
12Gbpsディスクが市場に登場するまで、ディスクがボトルネックであったため、1つのストリームで10Gbpsネットワークリンクが過負荷になることはありませんでした。
しかし、ディスクは他の多くのことを行っていること、プロセスがマシン上の唯一のプロセスではないこと、ネットワークが異なることを実行していることなどを忘れないでください。
また、すべてのディスクアクティビティがネットワークトラフィックを意味するわけではありません。アプリケーションからデータベースサーバーへのデータベースクエリは、ごくわずかなネットワークトラフィックです。データベースサーバーからの応答は、非常に小さい(単一の数値)場合もあれば、非常に大きい(複数のフィールドを持つ数千行)場合もあります。操作を実行するには、サーバー(データベースサーバーであるかどうかに関係なく)が複数のディスクシーク、読み取り、書き込みを行う必要がありますが、ネットワーク経由で非常に小さなビットを送り返すだけです。1対1のネットワークディスクRAMではありません。
これまでのところ、私はあなたの質問のいくつかの詳細、特にRedisの部分を避けました。
Redisは、データベース、キャッシュ、およびメッセージブローカーとして使用されるオープンソース(BSDライセンス)のメモリ内データ構造ストアです。- https://redis.io/
OK、つまりすべてがメモリ内にあるということです。申し訳ありませんが、この高速SSDドライブはここでは役に立ちません。Redisはデータをディスクに保持できるため、再起動後にRAMにロードできます。これは、データを「失わない」か、再起動後にコールドキャッシュを再作成する必要があるだけです。そのため、この場合は、RAMを使用する必要があります。データセットを格納するのに十分なRAMが必要です。十分なRAMがなく、OSが使用すると思いますswap
-おそらく良い考えではありません。