.Net を使用してソケット IO パフォーマンスをテストする簡単なアプリケーションを作成しました。サーバーにメッセージを送信し、応答を受信しています。スレッドなどを使用しています。
私が奇妙なことに気付いたのは、クライアントとサーバーの両方をローカルで実行すると、100 000 の要求と応答を送受信するのに 15 秒かかることです。サーバーを別のマシンに配置して LAN 経由で実行すると、同じワークロードを実行するのに 6 秒しかかかりません。
リソース モニターを使用すると、ネットワーク経由でテストすると、ネットワーク IO スループットが大幅に向上することがわかります。
更新: 私の開発マシンには十分なリソースがあります。8 コア、8 ギガのメモリなどを搭載し、プログラムは非常にシンプルです。