2012-02-17 6 views
0

私が観察しているのと同じマシン上でTCPサーバーとクライアントを実行すると、クライアントが時刻を送信する(timestampT1、send()、timestampT2; timestampT2 - timestampT1)私が別のマシンで同じサーバーを実行する場合よりも、テールのパーセンタイルで、同じマシン上のTCP IPパフォーマンス

サーバとクライアントが異なるボックスの場合、クライアントが平均で10ミリ秒、100ミリ秒で90~99パーセンタイルの20~25ミリ秒かかる場合、ソフトウェアとマシンの仕様はすべて同じです。同じボックスにあるサーバーとクライアントの平均で10マイクロ秒、70〜100マイクロ秒で90〜99パーセンタイルになります。

私は、インターヒュープットアイソレーション、ソケット送信バッファサイジング、およびCPUピンニングを大幅に改善することなく試してみました。これはRHEL 5.6です。

これについての説明はありますか?広義には

+0

トラフィックが出て戻ってくるのですか? IPと名前に基づいていますか? – DarthVader

+0

hmm ..あなたはすぐに2つのセンド()をしようとしていますか?またはあなたはただ1つのsend()を測定するだけですか? –

+0

@yi_H私は200mircosecondsごとに1回送信しています。このような送信が合計で1M台あります。 – user1217050

答えて

2

Heisenberg uncertainty principleである。具体的には、コンピュータに2つのプログラムがあり、1つはデータを送信し、もう1つはそれを分析しています - 次に、2つのタスクでCPUに課税します。監視プログラムが別のコンピュータで実行されているかのように - 他の人と競争する必要がなく、常により速くなるという利点があります。

同じマシン上の両方のプログラムでネットワークスループットをテストしないでください。

+1

それはネットワークのスループットでもありません。実際に私はなぜこれを測定したのか分かりません。 –

+0

これは私が測定しようとしたものではなく、私が考えることができる説明がない観察だけでした。私は8つのCPUボックスでCPUの分離とピンニングを実行しているので、両方のプロセスが互いに踏み外されないようにしています。 – user1217050

+1

アプリケーションはピン割り当てをサポートしていますが、イーサネットドライバはサポートしていますか? .. – synthesizerpatel

関連する問題