メインコンテンツまでスキップ
メインコンテンツまでスキップ

クォータ

クォータを使用すると、一定期間のリソース使用を制限したり、リソースの使用状況を追跡したりすることができます。
クォータは通常、'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' セクションでユーザーに割り当てられます。「アクセス権」セクションを参照してください。

分散クエリ処理のために、蓄積された金額はリクエスターサーバーに保存されます。そのため、ユーザーが別のサーバーに移動すると、そこではクォータが「リセット」されます。

サーバーが再起動されると、クォータはリセットされます。