.. -*- rst -*- .. highlightlang:: none GQTP ==== 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 :doc:`/server/http` when you send many light commands like :doc:`/reference/commands/status`. GQTP will be almost same performance as HTTP when you send heavy commands like :doc:`/reference/commands/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) It's not a library but you can use :doc:`/reference/executables/groonga` as a GQTP client. How to run ---------- :doc:`/reference/executables/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 See :doc:`/reference/executables/groonga` for available ``options``.