-1

異なるサーバーで同じアプリケーションを実行すると、予期しないスループット結果が得られるという問題に直面しています。たとえば、特定のより高速なサーバー (より高速な CPU、より多くのメモリ) でアプリケーションを無負荷で実行すると、同じネットワーク上のそれほど強力でないサーバーで実行するよりもスループットが低下します。

OSまたはTCPのいずれかが、より高速なサーバーで速度低下を引き起こしていると思われます. OS と TCP の構成を調べて、速度低下の原因を示唆できるツールはありますか?

すべてのサーバーで Red Hat Linux が実行されています。

更新 これは、ソケット ベースのクライアント サーバー アプリケーションです。サーバーに接続された単一のクライアントなど、単一の接続で動作し、メッセージをできるだけ速く送信しようとします。分岐やマルチスレッドはありません。

さらに考えてみると、レイテンシーまたはスループットに影響を与える可能性がある主要な tcp オプションはありますか?

4

1 に答える 1

0

このような問題をデバッグするための鍵は、テスト ケースから物理ネットワークを削除することです。つまり、ネットワークではなく localhost を介した tcp アプリケーション転送を比較します。

ほとんどの場合、NIC 構成、ボンディング構成、エンド ツー エンド TCP RTT、パケットの並べ替え、パケット損失率、またはその他の外部要因が、この種の違いの原因となっています。それが「ネットワーク」なのかサーバーなのかを判断するには、localhost から localhost にテストします。

于 2012-11-18T18:11:08.027 に答える