ROMAのリファレンス
設定ファイル
設定ファイルの場所
デフォルトでは、config.rbという名前の設定ファイルで、#{your roma path}/lib/roma ディレクトリに格納されています。
ROMAはデフォルトではないディレクトリに格納されている設定ファイルを使うことができます。
その場合、ROMAの起動時に romad コマンドに '--config' オプションが必要です。
更なる情報は Commands を参照してください。
設定パラメータの説明
概要
属性名 | 解説 | デフォルト値 | バージョン |
バージョン |
config.rbのバージョン番号。 同じバージョンのconfig.rbを使ってROMAを起動することができます。 バージョン間で幾つかの内容が追加されるため、古いconfig.rbは使えないことを意味します。 | Same version with ROMA | ~> v0.8.0 |
DEFAULT_PORT | Romaプロセスは指定されたポート番号で起動します。 | 12000 | ~> v0.8.0 |
DEFAULT_NAME | ROMAに参加するプロセスの名前を指定します。 | ROMA | ~> v0.8.0 |
フェイルオーバー
属性名 | 解説 | デフォルト値 | バージョン |
ROUTING_FAIL_CNT_THRESHOLD | フェイルオーバーを起こすため閾値。 ROMAがこのパラメータで指定された回数のルーティング情報の取得に失敗した場合、ROMAはフェイルオーバーするでしょう。 |
15 | ~> v0.8.3 |
ROUTING_FAIL_CNT_GAP | 指定時間 (秒数)。ROMAが ROUTING_FAIL_CNT_GAP 経過時間の間ルーティング情報の取得に失敗した場合は、 ROMAは fail-overのカウンタをカウントアップします。 |
0 | ~> v0.8.3 |
Connection
属性名 | 解説 | デフォルト値 | バージョン |
CONNECTION_USE_EPOLL |
ブロッキング無しの接続で通信するためのシステムコールを選択します。 true : epoll システムコールを利用します。EventMachine 0.12.8 以上を必要とします。 false または指定無し : select システムコールを利用します。ROMAが利用できるFDの総カウントは1024に制限されていることに注意してください。 |
true | ~> v0.8.4 |
CONNECTION_DESCRIPTOR_TABLE_SIZE |
ROMAがepoll システムコールを利用する時のFDの最大数を指定します。 ROMAが"CONNECTION_USE_EPOLL = true"を利用する時は、このパラメータが必要です。 この値はOSの設定よりも小さくなければなりません。 |
4096 | ~> v0.8.4 |
CONNECTION_CONTINUOUS_LIMIT |
接続の上限数を指定します。基本的にSSHのMaxStartupと同じ考えです。 コロンで区切られた3つの値 "start:rate:full" で指定します (例えば、'200:30:300')。 接続の利用が "start"(200)に達した場合、ROMAは利用していない接続を"rate/100" (30%)の確率で切断するでしょう。 利用している接続が "full" (300)に達すると、ROMAは利用していない接続を100%の確率で切断するでしょう。 ROMAが epoll を使っている場合、start と end の値は、CONNECTION_DESCRIPTOR_TABLE_SIZE の値よりも小さくなければなりません。 ROMAが select を使っている場合、start と end の値は 1024 よりも小さくなければなりません。(e.g., '700:10:800'). |
'200:30:300' | ~> v0.8.3 |
CONNECTION_EXPTIME |
指定時間 (秒数)。ROMA が受信した接続が CONNECTION_EXPTIME 秒の間使われていない場合は、 ROMA はこの接続を切断するでしょう。 値が0の場合、ROMAは切断しないでしょう。 |
60 | ~> v0.8.4 |
CONNECTION_POOL_EXPTIME |
指定時間 (秒数)。ROMAが非同期接続のコネクションプールを利用する場合、 ROMAは接続がプールに戻されてから CONNECTION_POOL_EXPTIME 秒の間使われていない接続を切断するでしょう。 このパラメータはCONNECTION_EXPTIME パラメータより小さい必要があります。 |
30 | ~> v0.8.4 |
CONNECTION_POOL_MAX |
非同期接続のコネクションプールが維持する接続の最大数を指定します。 非同期接続の総数は比較的小さいため、お勧めの値は5です。 |
5 | ~> v0.8.4 |
CONNECTION_EMPOOL_EXPTIME |
指定時間 (秒数)。ROMAが同期接続のコネクションプールを利用する場合、 ROMAは接続がプールに戻されてから CONNECTION_EMPOOL_EXPTIME 秒の間使われていない接続を切断するでしょう。 このパラメータはCONNECTION_EXPTIME パラメータより小さい必要があります。 |
30 | ~> v0.8.4 |
CONNECTION_EMPOOL_MAX |
同期接続のコネクションプールが維持される接続の最大数を指定します。 同期接続の量はクライアントアクセスのトラフィックに依存します お勧めの値はROMAクライアントプール設定の数とだいたい同じです。おおまかな指針としては10から15です。 |
15 | ~> v0.8.4 |
データのロスト
属性名 | 解説 | デフォルト値 | バージョン |
DEFAULT_LOST_ACTION |
DEFAULT_LOST_ACTION はROMAがサーバトラブルによってデータを失った時のデフォルトの動作を指定します。
|
auto_assign | ~> v0.8.0 |
ログ
属性名 | 解説 | デフォルト値 | バージョン |
LOG_SHIFT_AGE | ローテートするログファイルの数を指定します。 | 10 | ~> v0.8.0 |
LOG_SHIFT_SIZE | ログのサイズ(バイト)を指定します。ログファイルがこのサイズに到達すると、<br>次のファイルへローテートするでしょう。 | 1024 * 1024 * 10 (10,485,760) |
~> v0.8.0 |
LOG_PATH | ROMA がログファイルを作成するディレクトリを指定します。 デフォルトのディレクトリは現在のディレクトリです。 |
' . ' | ~> v0.8.0 |
LOG_LEVEL |
出力するログファイルのレベルを指定します。次の4つのレベルから一つを選びます;
|
debug | ~> v0.8.2 |
ルーティング
属性名 | 解説 | デフォルト値 | バージョン |
RTTABLE_PATH | ROMAがルーティング情報ファイルを取り出すディレクトリを指定します。デフォルトのディレクトリは現在のディレクトリです。 | ' . ' | ~> v0.8.0 |
AUTO_RECOVER | trueの場合は、ROMAは短いvnodeが起動した時にリカバーを実行するでしょう。自動リカバー機能を使うためには、AUTO_RECOVERをtrueに設定します。 | false | ~> v0.8.13 |
ストレージ
属性名 | 解説 | デフォルト値 | バージョン |
STORAGE_CLASS |
ROMAが処理が実装されているストレージクラスを指定します。 デフォルトのストーレジクラスはRubyHashです。 |
Roma::Storage::RubyHashStorage | ~> v0.8.0 |
STORAGE_DIVNUM | ROMAプロセスのストレージを分割する数を指定します。 | 10 | ~> v0.8.0 |
STORAGE_PATH |
ROMAがストレージファイルを作成するディレクトリを指定します。 ROMAがファイルベースのストレージ実装を選択する場合に必要です。 デフォルトのディレクトリは現在のディレクトリです。 |
' . ' | ~> v0.8.0 |
STORAGE_DUMP_PATH |
ROMAが現在のストレージのスナップショットファイルを作成するディレクトリを指定します。 デフォルトのディレクトリは "/tmp" ディレクトリです。 |
/tmp | ~> v0.8.0 |
STORAGE_OPTION | ストレージの詳細なオプションを指定します。 | N/A | ~> v0.8.0 |
STORAGE_DELMARK_EXPTIME |
削除された値がGCによって収集される間隔(秒)を指定します。 デフォルトは5日です。 |
60 * 60 * 24 * 5 (432,000) |
~> v0.8.0 |
STORAGE_EXCEPTION_ACTION |
ストレージが例外エラーに遭遇した時にROMAが取る動作を選択します。
|
no_action | ~> v0.8.8 |
STORAGE_CLEAN_UP_INTERVAL | 整理をしたい時間間隔(秒)を指定します。整理プロセスはdelフラグを持つデータを削除します。 | 60 * 5 | ~> v0.8.12 |
データのコピー
属性名 | 解説 | デフォルト値 | バージョン |
DATACOPY_STREAM_COPY_WAIT_PARAM | ノード間でデータをゆっくりコピーするための待ち時間(秒)を指定します。 | 0.0001 | ~> v0.8.0 |
プラグイン
属性名 | 解説 | デフォルト値 | バージョン |
PLUGIN_FILES | ROMAプロセスが開始する時に読み込まれるプラグインを指定します。 | ['plugin_storage.rb'] | ~> v0.8.0 |
遅延書き込み
属性名 | 解説 | デフォルト値 | バージョン |
WRITEBEHIND_PATH |
ROMAが非同期にイベントログファイルを作成するディレクトリを指定します。 デフォルトのディレクトリは "./wb" ディレクトリです。 |
./wb | ~> v0.8.0 |
WRITEBEHIND_SHIFT_SIZE |
イベントログファイルのサイズ(バイト)を指定します。 ログファイルがこのサイズに到達すると、 ログファイルは次のファイルにローテートされます。デフォルトのサイズは10MBです。 |
1024 * 1024 * 10 (10,485,760) |
~> v0.8.0 |
冗長性
属性名 | 解説 | デフォルト値 | バージョン |
REDUNDANT_ZREDUNDANT_SIZE |
データの最大サイズ(バイト)を指定します。データが冗長性のために他のノードに転送される間、 このサイズを超えたデータは転送される前に圧縮されるでしょう。 デフォルトのデータサイズは0です。値が0であれば、データは圧縮されません。 |
0 | ~> v0.8.0 |
DNS
属性名 | 解説 | デフォルト値 | バージョン |
DNS_CACHING |
毎回ネームサーバにホスト名を参照するか、最初の一回だけ参照します。 trueに設定すると、参照の結果は保持されるでしょう。 |
false | ~> v0.8.13 |