YUKI Hiroshi
null+****@clear*****
Thu Jan 16 18:13:18 JST 2014
YUKI Hiroshi 2014-01-16 18:13:18 +0900 (Thu, 16 Jan 2014) New Revision: 2a85fd4b83012582ccc53e54bef3948ce2573131 https://github.com/droonga/drnbench/commit/2a85fd4b83012582ccc53e54bef3948ce2573131 Message: Describe command specification of drnbench-publish (not implemented yet) Modified files: README.md Modified: README.md (+68 -0) =================================================================== --- README.md 2014-01-16 16:59:54 +0900 (e1e4c24) +++ README.md 2014-01-16 18:13:18 +0900 (c3c310f) @@ -214,6 +214,74 @@ Drnbench will start multiple clients and send many requests based on the pattern 5. You'll get a report. +### Benchmarking of HTTP streaming APIs, with a Droonga-based search system + +Dronbench can benchmark an HTTP streaming API based on a publish-subscribe command. + +In this scenario, you have to do: + + * prepare configuration files "fluentd.conf" and "catalog.json" for a Droonga Engine. + * prepare an express application works as a Droonga Protocol Adapter. + * prepare pattern files for subscribe request and feeded data. + +Drnbench will run benchmark like: + + 1. Prepare subscribers. + 2. Send "feed" messages to the Droonga Engine. + All subscribers will receive all published messages. + 3. Increase the number of subscribers. + 4. Repeat 2, 3, and 4. + +Steps to run: + + 1. Create a patterns file for a subscribe request: + + { + "path": "/path/to/endpoint", + "method": "HTTP method", + "body": (sent as the request body) + } + + For example, a file "watch-subscribe.json" like: + + { + "path": "/droonga/watch-streaming?=keyword" + } + + 2. Create a patterns file for messages to be feeded: + + { + "type": "(message type)", + "body": (message body) + } + + For example, a file "watch-feed.json" like: + + { + "type": "watch.feed", + "body": { + "targets": { + "body": "a content including the keyword" + } + } + } + + 3. Run drnbench with the pattern file. + + # cd ~/drnbench + # RUBYLIB=lib/ bin/drnbench-publish \ + --start-n-subscribers=1000 \ + --n-publishings=1000 \ + --n-steps=10 \ + --timeout=5 \ + --subscribe-request=/tmp/watch-subscribe.json \ + --feed=/tmp/watch-feed.json \ + --protocol-adapter-port=80 \ + --engine-config-path=/tmp/engine/ + + 4. You'll get a report. + + ## License The MIT License (MIT) -------------- next part -------------- HTML����������������������������... ダウンロード