7.3.67. thread_limit

7.3.67.1. 概要

バージョン 5.0.7 で追加.

thread_limit は次の2つの機能を提供します。

  • 最大スレッド数を返します。

  • 最大スレッド数を設定します。

groonga 実行ファイルthread_limit のすべての機能を提供する唯一のGroongaサーバーです。

groonga-httpd は最大スレッド数を返す機能だけをサポートしています。 groonga-httpd の最大スレッド数は常に1です。なぜなら、 groonga-httpd はシングルスレッドモデルを採用しているからです。

Groongaをライブラリーとして使っている場合、 grn_thread_set_get_limit_func()grn_thread_set_set_limit_func() でカスタム関数を設定しない限り動きません。 grn_thread_set_get_limit_func() でカスタム関数を設定すると最大スレッド数を返す機能が動きます。 grn_thread_set_set_limit_func() でカスタム関数を設定すると最大スレッド数を設定する機能が動きます。

7.3.67.2. 構文

このコマンドの引数は1つで省略できます:

thread_limit [max=null]

7.3.67.3. 使い方

引数なしで呼び出すと最大スレッド数を得られます。

実行例:

thread_limit
# [[0, 1337566253.89858, 0.000355720520019531], 2]

0 が返ってきたら、そのGroongaサーバーはこの機能をサポートしていないということです。

max 引数つきで呼び出すと最大スレッド数を設定できます。

実行例:

thread_limit --max 4
# [[0, 1337566253.89858, 0.000355720520019531], 2]

max 引数を渡したときは設定前の最大スレッド数が返ります。

7.3.67.4. 引数

このセクションではすべての引数について説明します。

7.3.67.4.1. 必須引数

必須の引数はありません。

7.3.67.4.2. 省略可能引数

省略可能な引数が1つあります。

7.3.67.4.2.1. max

新しい最大スレッド数を指定します。

正の整数を指定してください。

実行例:

thread_limit --max 3
# [[0, 1337566253.89858, 0.000355720520019531], 4]

max 引数を指定した場合、 thread_limitmax を適用する前の最大スレッド数を返します。

7.3.67.5. 戻り値

このコマンドのボディは最大スレッド数になります:

[HEADER, N_MAX_THREADS]

max を指定したときは N_MAX_THREADSmax を適用する前の最大スレッド数になります。

HEADER については 出力形式 を参照してください。