3

UDP を介して約 200 Mbps のピーク速度で相互に通信する必要がある Ubuntu サーバーで 2 つのアプリケーションを開発しています。初期段階では、ループバック アドレスを介して通信する同じサーバーに両方のアプリケーションを展開することを計画しています。

この設定には2つの懸念があります。どんな助けでも大歓迎です。

  1. 2 つのアプリケーション間の通信にループバック インターフェイスを使用することは良い方法ですか。
  2. ループバック インターフェイスで達成できる最大スループットにパフォーマンスの制限はありますか。
4

1 に答える 1

3

ループバック (127.0.0.1) インターフェイスの使用は、通常、ネットワーク対応/認識アプリケーションの開発 (デバッグ) の増分です。ループバック インターフェイスを IPC (プロセス間通信) 手段としてのみ使用している場合は、「眉をひそめる」ことになります。さらに、データ スループット (200 Mbps のピーク時の問題) は (OSI 物理層を介して) 送信されず、ネットワーク層内で「方向転換」されます。あなたの(2つの)質問に:

  1. ネットワーク対応/対応アプリケーションのデバッグのコンテキストでは、同じデバイスでクライアント/サーバーの両方をテストする方法が推奨されます。IPC の手段としては、プロセス間のデータのマーシャリングに不要なオーバーヘッドが追加されるため、これが目的である場合は、OS 固有の IPC メカニズムを調べます (これは通常、メモリ マップされたファイルに変換されてプロセスの境界を越えるためです。メモリ常駐で非常に高速になるように効率的に構成できます)。

  2. パフォーマンスは、UDP 設計に関連します。ペイロードのサイズ、メッセージの構造、キュー管理など。もちろん、通常のネットワーク スタック オーバーヘッドを処理します (ただし、適切に適用可能であれば、IPC メカニズムのオーバーヘッドは少なくなります)。

特定のコードフラグメントを探しているのか、それともこれが一般的な質問なのか (私が読んだように) 教えてください。お役に立てれば。

于 2015-06-04T04:23:46.623 に答える