Jump to: navigation, search

Translations:ReleaseNotes/Liberty/7/ja

Revision as of 16:46, 17 October 2015 by Amotoki (talk | contribs)
  • object-server とレプリケーションサーバーの設定ファイルの [DEFAULT] 設定セクション中の servers_per_port 設定値を正の整数にすることで、object-servers-per-disk (ディスク単位のオブジェクトサーバー) を複数にすることができるようになりました。この設定の整数値は、Ring 内の1つのローカルポートに対して、何個の object-server ワーカーがリクエストを処理するかを決定します。このモードでは、親となる swift-object-server プロセスが元々のユーザの実行を継続します (小さいポート番号のバインドが必要な場合はユーザーは root になります)。このプロセスは Ring 内で定義された全てのポートをバインドします。その後、親プロセスはリッスンソケット毎に指定された数のワーカーを fork します。子プロセス (ポート毎のサーバー) は特権を破棄し、object-server ワーカーの通常の動作と同じ動作をしますが、1つ例外があります: Ring はディスク単位に一意なポートを持ち、object-server は1つのディスクに対するリクエストのみ処理します。親プロセスはワーカープロセスが死んだ事を検知し、(適切なリッスンソケットを持つ) ワーカープロセスを再起動します。Ringu ファイルの更新があり、そのサーバーに新しいポートを持つデバイスが見つかった場合、親プロセスは不足しているサーバを新たに実行します。また、Ring にもはや存在しないポートがある場合、それらのポートを持っていた余分のサーバを停止します。最長でも、 object-server 設定ファイル中の ring_check_interval パラメーター (デフォルトは 15秒) で設定された期間内には、 Ring ファイルの内容が反映されます。テストでは、既存の workers 設定に比べ、このデプロイ設定 (値 3) が応答遅延を最も削減し、秒間リクエストを改善し、低速なディスク I/O の影響が分離されます。この機能を使用するには、各デバイスは異なるポートを使用して Ring に追加する必要があります。