クォータ
クォータを使用すると、一定期間のリソース使用を制限したり、リソースの使用状況を追跡したりすることができます。
クォータは通常、'users.xml'ファイルのユーザー設定で設定されます。
システムには、単一のクエリの複雑さを制限する機能もあります。クエリの複雑さの制限のセクションを参照してください。
クエリの複雑さの制限とは対照的に、クォータは:
- 一定期間に実行できるクエリのセットに制限を設け、単一のクエリを制限するのではありません。
- 分散クエリ処理のために、すべてのリモートサーバーで消費されたリソースを考慮します。
ここでは、クォータを定義する 'users.xml' ファイルのセクションを見てみましょう。
デフォルトでは、クォータはリソース消費を毎時追跡し、使用を制限しません。各間隔で計算されたリソース消費は、各リクエストの後にサーバーログに出力されます。
'statbox' クォータでは、毎時および毎24時間(86,400秒)の制限が設定されています。時間の間隔は、実装によって定義された固定の瞬間からカウントされます。言い換えれば、24時間の間隔は必ずしも真夜中から始まるわけではありません。
間隔が終了すると、収集されたすべての値はクリアされます。次の1時間の間、クォータ計算はゼロから始まります。
制限できる項目は以下の通りです:
queries
– リクエストの総数。
query_selects
– selectリクエストの総数。
query_inserts
– insertリクエストの総数。
errors
– 例外を投げたクエリの数。
result_rows
– 結果として与えられた行の総数。
read_rows
– すべてのリモートサーバーでクエリを実行するためにテーブルから読み取ったソース行の総数。
execution_time
– クエリの総実行時間(秒単位)。
少なくとも1つの時間間隔で制限を超えた場合、どの制限が超過したか、どの間隔で、次の間隔がいつ始まるのか(再度クエリを送信できる時期)についてのテキストを伴って例外が発生します。
クォータは "quota key" 機能を使用して、複数のキーに対するリソースを独立して報告することができます。以下はその例です:
クォータは、構成の 'users' セクションでユーザーに割り当てられます。「アクセス権」セクションを参照してください。
分散クエリ処理のために、蓄積された金額はリクエスターサーバーに保存されます。そのため、ユーザーが別のサーバーに移動すると、そこではクォータが「リセット」されます。
サーバーが再起動されると、クォータはリセットされます。