# 5.3. GQTP

## 5.3.1. Summary

GQTP is the acronym standing for "Groonga Query Transfer Protocol".

GQTP is a protocol designed for Groonga. It's a stateful protocol. You can send multiple commands in one session.

GQTP will be faster rather than HTTP when you send many light commands like status. GQTP will be almost same performance as HTTP when you send heavy commands like select.

We recommend that you use HTTP for many cases. Because there are many HTTP client libraries.

If you want to use GQTP, you can use the following libraries:

> - Ruby: groonga-client

> - Python: poyonga

> - Go: goroo

> - PHP: proonga

> - C/C++: Groonga (Groonga can be also used as library)

ライブラリではありませんが、groonga 実行ファイル をGQTPクライアントとして使えます。

## 5.3.2. How to run

groonga 実行ファイル is a GQTP server implementation. You can run a Groonga server by the following command line:

    groonga --protocol gqtp -s [options] DB_PATH

You can run a Groonga server as a daemon by the following command line:

    groonga --protocol gqtp -d [options] DB_PATH

利用可能なオプションについては、 groonga 実行ファイル を参照してください。