.. -*- rst -*-

.. program:: grnslap

grnslap
=======

名前
----

grnslap - groongaプロセスの通信層のパフォーマンスをチェックするツール

書式
----

::

 grnslap [options] [dest]

説明
----

grnslapは、groongaプロセスに対してリクエストを多重に行い、パフォーマンスをチェックするためのツールです。

Groonga独自プロトコルであるGQTPと、httpの両プロトコルでリクエストを行うことができます。また、リクエストの多重度を指定することができます。

クエリの内容を標準入力から与えることができます。実稼動環境でのクエリパタンに近いクエリを標準入力に与えることによって、実稼動環境に近い状態での検証を行うことができます。

現在は、make installしてもインストールは行われない。

オプション
----------

.. option:: -P

   リクエストのプロトコルを指定します。

   `http`

     httpでリクエストします。対象のhttpのパス群(GETパラメータを含む)をLF区切り形式で標準入力に与えると、それらのパスに順次アクセスします。

   `gqtp`

     gqtpでリクエストします。gqtpのリクエストをLF区切り形式で標準入力に与えると、それらのリクエストを順次行います。

.. option:: -m

   リクエストの多重度を指定します。初期値は10です。

引数
----

.. option:: dest

   接続先のホスト名とポート番号をを指定します(デフォルト値は'localhost:10041')。ポート番号を指定しない場合には、10041が指定されたものとします。

サンプル
--------

http://localhost:10041/d/status に、多重度100でリクエストを行う。

::

  > yes /d/status | head -n 100 | grnslap -P http -m 100 localhost:10041
  2023-05-30 16:21:18.204835|begin: protocol=h max_concurrency=100 max_tp=10000
  2023-05-30 16:21:19.018364|end  : n=100 min=97 max=485 avg=0 qps=122.921248 etime=0.813529
