SHIMODA Piro Hiroshi
null+****@clear*****
Mon Oct 6 12:09:04 JST 2014
SHIMODA "Piro" Hiroshi 2014-10-06 12:09:04 +0900 (Mon, 06 Oct 2014) New Revision: abdbd3a433961a90d700ab7d33c26845ead9992f https://github.com/droonga/droonga.org/commit/abdbd3a433961a90d700ab7d33c26845ead9992f Message: Use host names instead of raw IP addresses Modified files: _po/ja/tutorial/1.0.7/benchmark/index.po ja/tutorial/1.0.7/benchmark/index.md tutorial/1.0.7/benchmark/index.md Modified: _po/ja/tutorial/1.0.7/benchmark/index.po (+66 -65) =================================================================== --- _po/ja/tutorial/1.0.7/benchmark/index.po 2014-10-06 11:50:14 +0900 (aec4226) +++ _po/ja/tutorial/1.0.7/benchmark/index.po 2014-10-06 12:09:04 +0900 (ae527a4) @@ -285,15 +285,19 @@ msgstr "## ベンチマーク環境を用意する" msgid "" "Assume that there are four [Ubuntu][] 14.04LTS servers for the new Droogna clu" -"ster:" -msgstr "新しいDroongaクラスタのために以下の4つの[Ubuntu][] 14.04LTSのサーバがあると仮定します:" +"ster and they can resolve their names each other:" +msgstr "新しいDroongaクラスタのために、以下の、互いにホスト名で名前解決できる4つの[Ubuntu][] 14.04LTSのサーバがあると仮定します:" msgid "" -" * `192.168.100.50`\n" -" * `192.168.100.51`\n" -" * `192.168.100.52`\n" -" * `192.168.100.53`" +" * `192.168.100.50`, the host name is `node0`\n" +" * `192.168.100.51`, the host name is `node1`\n" +" * `192.168.100.52`, the host name is `node2`\n" +" * `192.168.100.53`, the host name is `node3`" msgstr "" +" * `192.168.100.50`、ホスト名:`node0`\n" +" * `192.168.100.51`、ホスト名:`node1`\n" +" * `192.168.100.52`、ホスト名:`node2`\n" +" * `192.168.100.53`、ホスト名:`node3`" msgid "One is client, others are Droonga nodes." msgstr "1つはクライアント用で、残りの3つはDroongaノード用です。" @@ -321,9 +325,9 @@ msgstr "" "Groongaサーバ(およびDroongaクラスタ)を用意する手助けとなるスクリプトが含まれています。" msgid "" -"So let's prepare a new Groonga database including Wikipedia pages, on a node `" -"192.168.100.50`." -msgstr "では、Wikipediaのページを格納したGroongaデータベースを、`192.168.100.50`のノードに準備しましょう。" +"So let's prepare a new Groonga database including Wikipedia pages, on the `nod" +"e0`." +msgstr "では、Wikipediaのページを格納したGroongaデータベースを、`node0`のノードに準備しましょう。" msgid "" " 1. Determine the size of the database.\n" @@ -347,20 +351,19 @@ msgstr "" " * 各ノードのメモリの搭載量が異なる場合、その中で最もメモリ搭載量が少ないノードに合わせてデータベースのサイズを決めるのが望ましいです。" msgid "" -" For example, if there are three nodes `192.168.100.50` (8GB RAM), `192.168" -".100.51` (8GB RAM), and `192.168.100.52` (6GB RAM), then the database should b" -"e smaller than 6GB.\n" +" For example, if there are three nodes `node0` (8GB RAM), `node1` (8GB RAM)" +", and `node2` (6GB RAM), then the database should be smaller than 6GB.\n" " 2. Set up the Groonga server, as instructed on [the installation guide](http:" "//groonga.org/docs/install.html)." msgstr "" -" 例えば、`192.168.100.50` (8GB RAM), `192.168.100.51` (8GB RAM), `192.168.100.5" -"2` (6GB RAM)の3つのノードがあるとすれば、データベースは6GBよりも小さくするべきです。\n" +" 例えば、`node0` (8GB RAM), `node1` (8GB RAM), `node2` (6GB RAM)の3つのノードがあるとすれば、" +"データベースは6GBよりも小さくするべきです。\n" " 2. [インストール手順](http://groonga.org/ja/docs/install.html)に従ってGroongaサーバをセットアップする" "。" msgid "" " ~~~\n" -" (on 192.168.100.50)\n" +" (on node0)\n" " % sudo apt-get -y install software-properties-common\n" " % sudo add-apt-repository -y universe\n" " % sudo add-apt-repository -y ppa:groonga/ppa\n" @@ -383,7 +386,7 @@ msgstr "" msgid "" " ~~~\n" -" (on 192.168.100.50)\n" +" (on node0)\n" " % cd ~/\n" " % git clone https://github.com/droonga/wikipedia-search.git\n" " % cd wikipedia-search\n" @@ -411,7 +414,7 @@ msgstr "" msgid "" " ~~~\n" -" (on 192.168.100.50)\n" +" (on node0)\n" " % mkdir -p $HOME/groonga/db/\n" " % groonga -n $HOME/groonga/db/db quit\n" " % time (cat ~/wikipedia-search/config/groonga/schema.grn | groonga $HOME/g" @@ -446,7 +449,7 @@ msgstr " 4. GroongaをHTTPサーバとして起動する" msgid "" " ~~~\n" -" (on 192.168.100.50)\n" +" (on node0)\n" " % groonga -p 10041 -d --protocol http $HOME/groonga/db/db\n" " ~~~" msgstr "" @@ -468,8 +471,8 @@ msgstr "" msgid "" "~~~\n" -"(on 192.168.100.50)\n" -"% host=192.168.100.50\n" +"(on node0)\n" +"% host=node0\n" "% curl https://raw.githubusercontent.com/droonga/droonga-engine/master/install" ".sh | \\\n" " sudo HOST=$host bash\n" @@ -477,7 +480,7 @@ msgid "" "stall.sh | \\\n" " sudo ENGINE_HOST=$host HOST=$host PORT=10042 bash\n" "% sudo droonga-engine-catalog-generate \\\n" -" --hosts=192.168.100.50,192.168.100.51,192.168.100.52\n" +" --hosts=node0,node1,node2\n" "% sudo service droonga-engine start\n" "% sudo service droonga-http-server start\n" "~~~" @@ -485,16 +488,16 @@ msgstr "" msgid "" "~~~\n" -"(on 192.168.100.51)\n" -"% host=192.168.100.51\n" +"(on node1)\n" +"% host=node1\n" "...\n" "~~~" msgstr "" msgid "" "~~~\n" -"(on 192.168.100.52)\n" -"% host=192.168.100.52\n" +"(on node2)\n" +"% host=node2\n" "...\n" "~~~" msgstr "" @@ -524,7 +527,7 @@ msgstr "" msgid "" "~~~\n" -"(on 192.168.100.50)\n" +"(on node0)\n" "% sudo gem install grn2drn\n" "~~~" msgstr "" @@ -567,16 +570,16 @@ msgstr "それでは、スキーマ定義とデータを別々にダンプ出力 msgid "" "~~~\n" -"(on 192.168.100.50)\n" +"(on node0)\n" "% time (grndump --no-dump-tables $HOME/groonga/db/db | \\\n" " grn2drn | \\\n" -" droonga-send --server=192.168.100.50 \\\n" +" droonga-send --server=node0 \\\n" " --report-throughput)\n" "% time (grndump --no-dump-schema --no-dump-indexes $HOME/groonga/db/db | \\\n" " grn2drn | \\\n" -" droonga-send --server=192.168.100.50 \\\n" -" --server=192.168.100.51 \\\n" -" --server=192.168.100.52 \\\n" +" droonga-send --server=node0 \\\n" +" --server=node1 \\\n" +" --server=node2 \\\n" " --report-throughput)\n" "~~~" msgstr "" @@ -606,12 +609,12 @@ msgstr "### クライアントをセットアップする" msgid "You must install the benchmark client to the computer." msgstr "クライアントにするマシンには、ベンチマーク用のクライアントをインストールする必要があります。" -msgid "Assume that you use a computer `192.168.100.53` as the client:" -msgstr "`192.168.100.53`をクライアントとして使うと仮定します:" +msgid "Assume that you use a computer `node3` as the client:" +msgstr "`node3`をクライアントとして使うと仮定します:" msgid "" "~~~\n" -"(on 192.168.100.53)\n" +"(on node3)\n" "% sudo apt-get update\n" "% sudo apt-get -y upgrade\n" "% sudo apt-get install -y ruby curl jq\n" @@ -640,7 +643,7 @@ msgstr "" msgid "" "~~~\n" -"% curl \"http://192.168.100.50:10041/d/status\" | jq .\n" +"% curl \"http://node0:10041/d/status\" | jq .\n" "[\n" " [\n" " 0,\n" @@ -762,8 +765,8 @@ msgstr "" msgid "" "~~~\n" -"% curl \"http://192.168.100.50:10041/d/select?table=Pages&limit=10&output_colum" -"ns=title\" | \\\n" +"% curl \"http://node0:10041/d/select?table=Pages&limit=10&output_columns=title\"" +" | \\\n" " drnbench-extract-searchterms\n" "title1\n" "title2\n" @@ -793,8 +796,8 @@ msgstr "では、`drnbench-extract-searchterms`を使って、Groongaの検索 msgid "" "~~~\n" "% n_unique_requests=200\n" -"% curl \"http://192.168.100.50:10041/d/select?table=Pages&limit=$n_unique_reque" -"sts&output_columns=title\" | \\\n" +"% curl \"http://node0:10041/d/select?table=Pages&limit=$n_unique_requests&outpu" +"t_columns=title\" | \\\n" " drnbench-extract-searchterms --escape | \\\n" " sed -r -e \"s;^;/d/select?table=Pages\\&limit=10\\&match_columns=title,text\\&" "output_columns=snippet_html(title),snippet_html(text),categories,_key\\&query_f" @@ -859,7 +862,7 @@ msgstr "" msgid "" "~~~\n" -"(on 192.168.100.50)\n" +"(on node0)\n" "% groonga -p 10041 -d --protocol http $HOME/groonga/db/db\n" "~~~" msgstr "" @@ -869,7 +872,7 @@ msgstr "ベンチマークは以下の要領で、`drnbench-request-response`コ msgid "" "~~~\n" -"(on 192.168.100.53)\n" +"(on node3)\n" "% drnbench-request-response \\\n" " --step=2 \\\n" " --start-n-clients=0 \\\n" @@ -877,7 +880,7 @@ msgid "" " --duration=30 \\\n" " --interval=10 \\\n" " --request-patterns-file=$PWD/patterns.txt \\\n" -" --default-hosts=192.168.100.50 \\\n" +" --default-hosts=node0 \\\n" " --default-port=10041 \\\n" " --output-path=$PWD/groonga-result.csv\n" "~~~" @@ -934,7 +937,7 @@ msgstr "" msgid "" "~~~\n" -"(on 192.168.100.50)\n" +"(on node0)\n" "% pkill groonga\n" "~~~" msgstr "" @@ -950,9 +953,9 @@ msgstr "ベンチマークの前に、ノードが1つだけの状態にクラ msgid "" "~~~\n" -"(on 192.168.100.50)\n" +"(on node0)\n" "% sudo droonga-engine-catalog-generate \\\n" -" --hosts=192.168.100.50\n" +" --hosts=node0\n" "% sudo service droonga-engine restart\n" "% sudo service droonga-http-server restart\n" "~~~" @@ -964,16 +967,15 @@ msgid "" msgstr "前回のベンチマークの影響をなくすために、各ベンチマークの実行前にはサービスを再起動することをおすすめします。" msgid "" -"After that the endpoint `192.168.100.50` works as a Droonga cluster with singl" -"e node.\n" +"After that the endpoint `node0` works as a Droonga cluster with single node.\n" "Run the benchmark." msgstr "" -"これにより、`192.168.100.50`は1ノード構成のクラスタとして動作するようになります。\n" +"これにより、`node0`は1ノード構成のクラスタとして動作するようになります。\n" "ベンチマークを実行しましょう。" msgid "" "~~~\n" -"(on 192.168.100.53)\n" +"(on node3)\n" "% drnbench-request-response \\\n" " --step=2 \\\n" " --start-n-clients=0 \\\n" @@ -981,7 +983,7 @@ msgid "" " --duration=30 \\\n" " --interval=10 \\\n" " --request-patterns-file=$PWD/patterns.txt \\\n" -" --default-hosts=192.168.100.50 \\\n" +" --default-hosts=node0 \\\n" " --default-port=10042 \\\n" " --output-path=$PWD/droonga-result-1node.csv\n" "~~~" @@ -1004,25 +1006,25 @@ msgstr "ベンチマークの前に、2番目のノードをクラスタに参 msgid "" "~~~\n" -"(on 192.168.100.50, 192.168.100.51)\n" +"(on node0, node1)\n" "% sudo droonga-engine-catalog-generate \\\n" -" --hosts=192.168.100.50,192.168.100.51\n" +" --hosts=node0,node1\n" "% sudo service droonga-engine restart\n" "% sudo service droonga-http-server restart\n" "~~~" msgstr "" msgid "" -"After that both endpoints `192.168.100.50` and `192.168.100.51` work as a Droo" -"nga cluster with two nodes.\n" +"After that both endpoints `node0` and `node1` work as a Droonga cluster with t" +"wo nodes.\n" "Run the benchmark." msgstr "" -"これにより、`192.168.100.50`と`192.168.100.51`は2ノード構成のDroongaクラスタとして動作するようになります。\n" +"これにより、`node0`と`node1`は2ノード構成のDroongaクラスタとして動作するようになります。\n" "ベンチマークを実行しましょう。" msgid "" "~~~\n" -"(on 192.168.100.53)\n" +"(on node3)\n" "% drnbench-request-response \\\n" " --step=2 \\\n" " --start-n-clients=0 \\\n" @@ -1030,7 +1032,7 @@ msgid "" " --duration=30 \\\n" " --interval=10 \\\n" " --request-patterns-file=$PWD/patterns.txt \\\n" -" --default-hosts=192.168.100.50,192.168.100.51 \\\n" +" --default-hosts=node0,node1 \\\n" " --default-port=10042 \\\n" " --output-path=$PWD/droonga-result-2nodes.csv\n" "~~~" @@ -1073,26 +1075,25 @@ msgstr "ベンチマークの前に、最後のノードをクラスタに参加 msgid "" "~~~\n" -"(on 192.168.100.50, 192.168.100.51)\n" +"(on node0, node1)\n" "% sudo droonga-engine-catalog-generate \\\n" -" --hosts=192.168.100.50,192.168.100.51,192.168.100.52\n" +" --hosts=node0,node1,node2\n" "% sudo service droonga-engine restart\n" "% sudo service droonga-http-server restart\n" "~~~" msgstr "" msgid "" -"After that all endpoints `192.168.100.50`, `192.168.100.51`, and `192.168.100." -"52` work as a Droonga cluster with three nodes.\n" +"After that all endpoints `node0`, `node1`, and `node2` work as a Droonga clust" +"er with three nodes.\n" "Run the benchmark." msgstr "" -"これで、`192.168.100.50`, `192.168.100.51`, `192.168.100.52`のすべてのノードが3ノード構成のクラスタとし" -"て動作するようになります。\n" +"これで、`node0`, `node1`, `node2`のすべてのノードが3ノード構成のクラスタとして動作するようになります。\n" "ベンチマークを実行しましょう。" msgid "" "~~~\n" -"(on 192.168.100.53)\n" +"(on node3)\n" "% drnbench-request-response \\\n" " --step=2 \\\n" " --start-n-clients=0 \\\n" @@ -1100,7 +1101,7 @@ msgid "" " --duration=30 \\\n" " --interval=10 \\\n" " --request-patterns-file=$PWD/patterns.txt \\\n" -" --default-hosts=192.168.100.50,192.168.100.51,192.168.100.52 \\\n" +" --default-hosts=node0,node1,node2 \\\n" " --default-port=10042 \\\n" " --output-path=$PWD/droonga-result-3nodes.csv\n" "~~~" Modified: ja/tutorial/1.0.7/benchmark/index.md (+48 -48) =================================================================== --- ja/tutorial/1.0.7/benchmark/index.md 2014-10-06 11:50:14 +0900 (c39bb17) +++ ja/tutorial/1.0.7/benchmark/index.md 2014-10-06 12:09:04 +0900 (028d124) @@ -129,12 +129,12 @@ DroongaはGroongaと互換性があるため、Groongaベースのアプリケ ## ベンチマーク環境を用意する -新しいDroongaクラスタのために以下の4つの[Ubuntu][] 14.04LTSのサーバがあると仮定します: +新しいDroongaクラスタのために、以下の、互いにホスト名で名前解決できる4つの[Ubuntu][] 14.04LTSのサーバがあると仮定します: - * `192.168.100.50` - * `192.168.100.51` - * `192.168.100.52` - * `192.168.100.53` + * `192.168.100.50`、ホスト名:`node0` + * `192.168.100.51`、ホスト名:`node1` + * `192.168.100.52`、ホスト名:`node2` + * `192.168.100.53`、ホスト名:`node3` 1つはクライアント用で、残りの3つはDroongaノード用です。 @@ -146,7 +146,7 @@ DroongaはGroongaと互換性があるため、Groongaベースのアプリケ 特に運用中のサービスが無いということであれば、有効なベンチマークを取るために大量のデータを格納したデータベースを、対照として用意する必要があります。 [wikipedia-search][]リポジトリには、[Wikipedia日本語版](http://ja.wikipedia.org/)のページを格納したGroongaサーバ(およびDroongaクラスタ)を用意する手助けとなるスクリプトが含まれています。 -では、Wikipediaのページを格納したGroongaデータベースを、`192.168.100.50`のノードに準備しましょう。 +では、Wikipediaのページを格納したGroongaデータベースを、`node0`のノードに準備しましょう。 1. データベースのサイズを決める。 ベンチマーク測定のためには、十分に大きいサイズのデータベースを使う必要があります。 @@ -155,11 +155,11 @@ DroongaはGroongaと互換性があるため、Groongaベースのアプリケ * もしデータベースが大きすぎれば、メモリのスワップが発生してシステムの性能がランダムに劣化するために、過度に不安定なベンチマーク結果となるでしょう。 * 各ノードのメモリの搭載量が異なる場合、その中で最もメモリ搭載量が少ないノードに合わせてデータベースのサイズを決めるのが望ましいです。 - 例えば、`192.168.100.50` (8GB RAM), `192.168.100.51` (8GB RAM), `192.168.100.52` (6GB RAM)の3つのノードがあるとすれば、データベースは6GBよりも小さくするべきです。 + 例えば、`node0` (8GB RAM), `node1` (8GB RAM), `node2` (6GB RAM)の3つのノードがあるとすれば、データベースは6GBよりも小さくするべきです。 2. [インストール手順](http://groonga.org/ja/docs/install.html)に従ってGroongaサーバをセットアップする。 ~~~ - (on 192.168.100.50) + (on node0) % sudo apt-get -y install software-properties-common % sudo add-apt-repository -y universe % sudo add-apt-repository -y ppa:groonga/ppa @@ -172,7 +172,7 @@ DroongaはGroongaと互換性があるため、Groongaベースのアプリケ 変換するレコード(ページ)の数は、環境変数 `MAX_N_RECORDS`(初期値は5000)で指定することができます。 ~~~ - (on 192.168.100.50) + (on node0) % cd ~/ % git clone https://github.com/droonga/wikipedia-search.git % cd wikipedia-search @@ -188,7 +188,7 @@ DroongaはGroongaと互換性があるため、Groongaベースのアプリケ この操作にも時間がかかります: ~~~ - (on 192.168.100.50) + (on node0) % mkdir -p $HOME/groonga/db/ % groonga -n $HOME/groonga/db/db quit % time (cat ~/wikipedia-search/config/groonga/schema.grn | groonga $HOME/groonga/db/db) @@ -207,7 +207,7 @@ DroongaはGroongaと互換性があるため、Groongaベースのアプリケ 4. GroongaをHTTPサーバとして起動する ~~~ - (on 192.168.100.50) + (on node0) % groonga -p 10041 -d --protocol http $HOME/groonga/db/db ~~~ @@ -220,27 +220,27 @@ Droongaをすべてのノードにインストールします。 HTTP経由での動作をベンチマーク測定するので、`droonga-engine`と`droonga-http-server`の両方をインストールする必要があります。 ~~~ -(on 192.168.100.50) -% host=192.168.100.50 +(on node0) +% host=node0 % curl https://raw.githubusercontent.com/droonga/droonga-engine/master/install.sh | \ sudo HOST=$host bash % curl https://raw.githubusercontent.com/droonga/droonga-http-server/master/install.sh | \ sudo ENGINE_HOST=$host HOST=$host PORT=10042 bash % sudo droonga-engine-catalog-generate \ - --hosts=192.168.100.50,192.168.100.51,192.168.100.52 + --hosts=node0,node1,node2 % sudo service droonga-engine start % sudo service droonga-http-server start ~~~ ~~~ -(on 192.168.100.51) -% host=192.168.100.51 +(on node1) +% host=node1 ... ~~~ ~~~ -(on 192.168.100.52) -% host=192.168.100.52 +(on node2) +% host=node2 ... ~~~ @@ -255,7 +255,7 @@ HTTP経由での動作をベンチマーク測定するので、`droonga-engine` コマンドを利用できるようにするために、Groongaサーバとなっているコンピュータに`grn2drn` Gemパッケージをインストールしましょう。 ~~~ -(on 192.168.100.50) +(on node0) % sudo gem install grn2drn ~~~ @@ -283,16 +283,16 @@ HTTP経由での動作をベンチマーク測定するので、`droonga-engine` それでは、スキーマ定義とデータを別々にダンプ出力し、Droongaクラスタに流し込みましょう。 ~~~ -(on 192.168.100.50) +(on node0) % time (grndump --no-dump-tables $HOME/groonga/db/db | \ grn2drn | \ - droonga-send --server=192.168.100.50 \ + droonga-send --server=node0 \ --report-throughput) % time (grndump --no-dump-schema --no-dump-indexes $HOME/groonga/db/db | \ grn2drn | \ - droonga-send --server=192.168.100.50 \ - --server=192.168.100.51 \ - --server=192.168.100.52 \ + droonga-send --server=node0 \ + --server=node1 \ + --server=node2 \ --report-throughput) ~~~ @@ -307,10 +307,10 @@ Droongaは複数のノードに並行してバラバラに送られたスキー クライアントにするマシンには、ベンチマーク用のクライアントをインストールする必要があります。 -`192.168.100.53`をクライアントとして使うと仮定します: +`node3`をクライアントとして使うと仮定します: ~~~ -(on 192.168.100.53) +(on node3) % sudo apt-get update % sudo apt-get -y upgrade % sudo apt-get install -y ruby curl jq @@ -329,7 +329,7 @@ Droongaは複数のノードに並行してバラバラに送られたスキー もし既に運用中のGroongaベースのサービスがあるのであれば、以下のようにして、`status`コマンドを使ってGroongaデータベースのキャッシュヒット率を調べることができます: ~~~ -% curl "http://192.168.100.50:10041/d/status" | jq . +% curl "http://node0:10041/d/status" | jq . [ [ 0, @@ -391,7 +391,7 @@ GroongaとDroongaの性能を正確に比較するためには、キャッシュ これは、以下のようにしてGroongaの検索結果から単語のリストを生成します: ~~~ -% curl "http://192.168.100.50:10041/d/select?table=Pages&limit=10&output_columns=title" | \ +% curl "http://node0:10041/d/select?table=Pages&limit=10&output_columns=title" | \ drnbench-extract-searchterms title1 title2 @@ -410,7 +410,7 @@ title10 ~~~ % n_unique_requests=200 -% curl "http://192.168.100.50:10041/d/select?table=Pages&limit=$n_unique_requests&output_columns=title" | \ +% curl "http://node0:10041/d/select?table=Pages&limit=$n_unique_requests&output_columns=title" | \ drnbench-extract-searchterms --escape | \ sed -r -e "s;^;/d/select?table=Pages\&limit=10\&match_columns=title,text\&output_columns=snippet_html(title),snippet_html(text),categories,_key\&query_flags=NONE\&query=;" \ > ./patterns.txt @@ -445,14 +445,14 @@ title10 ベンチマークの実行前に、GroongaのHTTPサーバを起動しておいて下さい。 ~~~ -(on 192.168.100.50) +(on node0) % groonga -p 10041 -d --protocol http $HOME/groonga/db/db ~~~ ベンチマークは以下の要領で、`drnbench-request-response`コマンドを実行すると測定できます: ~~~ -(on 192.168.100.53) +(on node3) % drnbench-request-response \ --step=2 \ --start-n-clients=0 \ @@ -460,7 +460,7 @@ title10 --duration=30 \ --interval=10 \ --request-patterns-file=$PWD/patterns.txt \ - --default-hosts=192.168.100.50 \ + --default-hosts=node0 \ --default-port=10041 \ --output-path=$PWD/groonga-result.csv ~~~ @@ -489,7 +489,7 @@ title10 CPU資源とメモリ資源を解放するために、ベンチマーク取得後はGroongaを停止しておきましょう。 ~~~ -(on 192.168.100.50) +(on node0) % pkill groonga ~~~ @@ -500,20 +500,20 @@ CPU資源とメモリ資源を解放するために、ベンチマーク取得 ベンチマークの前に、ノードが1つだけの状態にクラスタを設定します。 ~~~ -(on 192.168.100.50) +(on node0) % sudo droonga-engine-catalog-generate \ - --hosts=192.168.100.50 + --hosts=node0 % sudo service droonga-engine restart % sudo service droonga-http-server restart ~~~ 前回のベンチマークの影響をなくすために、各ベンチマークの実行前にはサービスを再起動することをおすすめします。 -これにより、`192.168.100.50`は1ノード構成のクラスタとして動作するようになります。 +これにより、`node0`は1ノード構成のクラスタとして動作するようになります。 ベンチマークを実行しましょう。 ~~~ -(on 192.168.100.53) +(on node3) % drnbench-request-response \ --step=2 \ --start-n-clients=0 \ @@ -521,7 +521,7 @@ CPU資源とメモリ資源を解放するために、ベンチマーク取得 --duration=30 \ --interval=10 \ --request-patterns-file=$PWD/patterns.txt \ - --default-hosts=192.168.100.50 \ + --default-hosts=node0 \ --default-port=10042 \ --output-path=$PWD/droonga-result-1node.csv ~~~ @@ -535,18 +535,18 @@ CPU資源とメモリ資源を解放するために、ベンチマーク取得 ベンチマークの前に、2番目のノードをクラスタに参加させます。 ~~~ -(on 192.168.100.50, 192.168.100.51) +(on node0, node1) % sudo droonga-engine-catalog-generate \ - --hosts=192.168.100.50,192.168.100.51 + --hosts=node0,node1 % sudo service droonga-engine restart % sudo service droonga-http-server restart ~~~ -これにより、`192.168.100.50`と`192.168.100.51`は2ノード構成のDroongaクラスタとして動作するようになります。 +これにより、`node0`と`node1`は2ノード構成のDroongaクラスタとして動作するようになります。 ベンチマークを実行しましょう。 ~~~ -(on 192.168.100.53) +(on node3) % drnbench-request-response \ --step=2 \ --start-n-clients=0 \ @@ -554,7 +554,7 @@ CPU資源とメモリ資源を解放するために、ベンチマーク取得 --duration=30 \ --interval=10 \ --request-patterns-file=$PWD/patterns.txt \ - --default-hosts=192.168.100.50,192.168.100.51 \ + --default-hosts=node0,node1 \ --default-port=10042 \ --output-path=$PWD/droonga-result-2nodes.csv ~~~ @@ -576,18 +576,18 @@ Droongaクラスタの性能を有効に測定するためには、各ノード ベンチマークの前に、最後のノードをクラスタに参加させましょう。 ~~~ -(on 192.168.100.50, 192.168.100.51) +(on node0, node1) % sudo droonga-engine-catalog-generate \ - --hosts=192.168.100.50,192.168.100.51,192.168.100.52 + --hosts=node0,node1,node2 % sudo service droonga-engine restart % sudo service droonga-http-server restart ~~~ -これで、`192.168.100.50`, `192.168.100.51`, `192.168.100.52`のすべてのノードが3ノード構成のクラスタとして動作するようになります。 +これで、`node0`, `node1`, `node2`のすべてのノードが3ノード構成のクラスタとして動作するようになります。 ベンチマークを実行しましょう。 ~~~ -(on 192.168.100.53) +(on node3) % drnbench-request-response \ --step=2 \ --start-n-clients=0 \ @@ -595,7 +595,7 @@ Droongaクラスタの性能を有効に測定するためには、各ノード --duration=30 \ --interval=10 \ --request-patterns-file=$PWD/patterns.txt \ - --default-hosts=192.168.100.50,192.168.100.51,192.168.100.52 \ + --default-hosts=node0,node1,node2 \ --default-port=10042 \ --output-path=$PWD/droonga-result-3nodes.csv ~~~ Modified: tutorial/1.0.7/benchmark/index.md (+48 -48) =================================================================== --- tutorial/1.0.7/benchmark/index.md 2014-10-06 11:50:14 +0900 (10e00af) +++ tutorial/1.0.7/benchmark/index.md 2014-10-06 12:09:04 +0900 (6ba91ed) @@ -120,12 +120,12 @@ Moreover, comparing multiple results from different number of Droogna nodes, you ## Prepare environments for benchmarking -Assume that there are four [Ubuntu][] 14.04LTS servers for the new Droogna cluster: +Assume that there are four [Ubuntu][] 14.04LTS servers for the new Droogna cluster and they can resolve their names each other: - * `192.168.100.50` - * `192.168.100.51` - * `192.168.100.52` - * `192.168.100.53` + * `192.168.100.50`, the host name is `node0` + * `192.168.100.51`, the host name is `node1` + * `192.168.100.52`, the host name is `node2` + * `192.168.100.53`, the host name is `node3` One is client, others are Droonga nodes. @@ -137,7 +137,7 @@ Then you just have to dump all data in your Groonga database and load them to a Otherwise - if you have no existing service, prepare a new reference database with much data for effective benchmark. The repository [wikipedia-search][] includes some helper scripts to construct your Groonga server (and Droonga cluster), with [Japanese Wikipedia](http://ja.wikipedia.org/) pages. -So let's prepare a new Groonga database including Wikipedia pages, on a node `192.168.100.50`. +So let's prepare a new Groonga database including Wikipedia pages, on the `node0`. 1. Determine the size of the database. You have to use good enough size database for benchmarking. @@ -146,11 +146,11 @@ So let's prepare a new Groonga database including Wikipedia pages, on a node `19 * If it is too large, you'll see "too unstable" result because page-in and page-out of RAM will slow the performance down randomly. * If RAM size of all nodes are different, you should determine the size of the database for the minimum size RAM. - For example, if there are three nodes `192.168.100.50` (8GB RAM), `192.168.100.51` (8GB RAM), and `192.168.100.52` (6GB RAM), then the database should be smaller than 6GB. + For example, if there are three nodes `node0` (8GB RAM), `node1` (8GB RAM), and `node2` (6GB RAM), then the database should be smaller than 6GB. 2. Set up the Groonga server, as instructed on [the installation guide](http://groonga.org/docs/install.html). ~~~ - (on 192.168.100.50) + (on node0) % sudo apt-get -y install software-properties-common % sudo add-apt-repository -y universe % sudo add-apt-repository -y ppa:groonga/ppa @@ -163,7 +163,7 @@ So let's prepare a new Groonga database including Wikipedia pages, on a node `19 You can specify the number of records (pages) to be converted via the environment variable `MAX_N_RECORDS` (default=5000). ~~~ - (on 192.168.100.50) + (on node0) % cd ~/ % git clone https://github.com/droonga/wikipedia-search.git % cd wikipedia-search @@ -179,7 +179,7 @@ So let's prepare a new Groonga database including Wikipedia pages, on a node `19 This also may take more time: ~~~ - (on 192.168.100.50) + (on node0) % mkdir -p $HOME/groonga/db/ % groonga -n $HOME/groonga/db/db quit % time (cat ~/wikipedia-search/config/groonga/schema.grn | groonga $HOME/groonga/db/db) @@ -198,7 +198,7 @@ So let's prepare a new Groonga database including Wikipedia pages, on a node `19 4. Start the Groonga as an HTTP server. ~~~ - (on 192.168.100.50) + (on node0) % groonga -p 10041 -d --protocol http $HOME/groonga/db/db ~~~ @@ -211,27 +211,27 @@ Install Droonga to all nodes. Because we are benchmarking it via HTTP, you have to install both services `droonga-engine` and `droonga-http-server` for each node. ~~~ -(on 192.168.100.50) -% host=192.168.100.50 +(on node0) +% host=node0 % curl https://raw.githubusercontent.com/droonga/droonga-engine/master/install.sh | \ sudo HOST=$host bash % curl https://raw.githubusercontent.com/droonga/droonga-http-server/master/install.sh | \ sudo ENGINE_HOST=$host HOST=$host PORT=10042 bash % sudo droonga-engine-catalog-generate \ - --hosts=192.168.100.50,192.168.100.51,192.168.100.52 + --hosts=node0,node1,node2 % sudo service droonga-engine start % sudo service droonga-http-server start ~~~ ~~~ -(on 192.168.100.51) -% host=192.168.100.51 +(on node1) +% host=node1 ... ~~~ ~~~ -(on 192.168.100.52) -% host=192.168.100.52 +(on node2) +% host=node2 ... ~~~ @@ -246,7 +246,7 @@ You can generate messages for Droonga from Groonga's dump result, by the `grn2dr Install `grn2drn` Gem package to activate the command, to the Groonga server computer. ~~~ -(on 192.168.100.50) +(on node0) % sudo gem install grn2drn ~~~ @@ -274,16 +274,16 @@ If you are going to extract data from an existing Groonga server, you have to in Then dump schemas and data separately and load them to the Droonga cluster. ~~~ -(on 192.168.100.50) +(on node0) % time (grndump --no-dump-tables $HOME/groonga/db/db | \ grn2drn | \ - droonga-send --server=192.168.100.50 \ + droonga-send --server=node0 \ --report-throughput) % time (grndump --no-dump-schema --no-dump-indexes $HOME/groonga/db/db | \ grn2drn | \ - droonga-send --server=192.168.100.50 \ - --server=192.168.100.51 \ - --server=192.168.100.52 \ + droonga-send --server=node0 \ + --server=node1 \ + --server=node2 \ --report-throughput) ~~~ @@ -298,10 +298,10 @@ After all, now you have two HTTP servers: Groonga HTTP server with the port `100 You must install the benchmark client to the computer. -Assume that you use a computer `192.168.100.53` as the client: +Assume that you use a computer `node3` as the client: ~~~ -(on 192.168.100.53) +(on node3) % sudo apt-get update % sudo apt-get -y upgrade % sudo apt-get install -y ruby curl jq @@ -320,7 +320,7 @@ First, you have to determine the cache hit rate. If you have any existing service based on Groonga, you can get the actual cache hit rate of the Groonga database via `status` command, like: ~~~ -% curl "http://192.168.100.50:10041/d/status" | jq . +% curl "http://node0:10041/d/status" | jq . [ [ 0, @@ -382,7 +382,7 @@ So there is a utility command `drnbench-extract-searchterms`. It generates list of terms from Groonga's select result, like: ~~~ -% curl "http://192.168.100.50:10041/d/select?table=Pages&limit=10&output_columns=title" | \ +% curl "http://node0:10041/d/select?table=Pages&limit=10&output_columns=title" | \ drnbench-extract-searchterms title1 title2 @@ -401,7 +401,7 @@ OK, let's generate request patterns by `drnbench-extract-searchterms`, from a se ~~~ % n_unique_requests=200 -% curl "http://192.168.100.50:10041/d/select?table=Pages&limit=$n_unique_requests&output_columns=title" | \ +% curl "http://node0:10041/d/select?table=Pages&limit=$n_unique_requests&output_columns=title" | \ drnbench-extract-searchterms --escape | \ sed -r -e "s;^;/d/select?table=Pages\&limit=10\&match_columns=title,text\&output_columns=snippet_html(title),snippet_html(text),categories,_key\&query_flags=NONE\&query=;" \ > ./patterns.txt @@ -436,14 +436,14 @@ First, run benchmark for Groonga as the reference. Start Groonga's HTTP server before running. ~~~ -(on 192.168.100.50) +(on node0) % groonga -p 10041 -d --protocol http $HOME/groonga/db/db ~~~ You can run benchmark with the command `drnbench-request-response`, like: ~~~ -(on 192.168.100.53) +(on node3) % drnbench-request-response \ --step=2 \ --start-n-clients=0 \ @@ -451,7 +451,7 @@ You can run benchmark with the command `drnbench-request-response`, like: --duration=30 \ --interval=10 \ --request-patterns-file=$PWD/patterns.txt \ - --default-hosts=192.168.100.50 \ + --default-hosts=node0 \ --default-port=10041 \ --output-path=$PWD/groonga-result.csv ~~~ @@ -480,7 +480,7 @@ Then you'll get the reference result of the Groonga. After that you should stop Groonga to release CPU and RAM resources. ~~~ -(on 192.168.100.50) +(on node0) % pkill groonga ~~~ @@ -491,20 +491,20 @@ After that you should stop Groonga to release CPU and RAM resources. Before benchmarking, make your cluster with only one node. ~~~ -(on 192.168.100.50) +(on node0) % sudo droonga-engine-catalog-generate \ - --hosts=192.168.100.50 + --hosts=node0 % sudo service droonga-engine restart % sudo service droonga-http-server restart ~~~ To clear effects from previous benchmark, you should restart services before each test. -After that the endpoint `192.168.100.50` works as a Droonga cluster with single node. +After that the endpoint `node0` works as a Droonga cluster with single node. Run the benchmark. ~~~ -(on 192.168.100.53) +(on node3) % drnbench-request-response \ --step=2 \ --start-n-clients=0 \ @@ -512,7 +512,7 @@ Run the benchmark. --duration=30 \ --interval=10 \ --request-patterns-file=$PWD/patterns.txt \ - --default-hosts=192.168.100.50 \ + --default-hosts=node0 \ --default-port=10042 \ --output-path=$PWD/droonga-result-1node.csv ~~~ @@ -526,18 +526,18 @@ Moreover, the path to the result file also changed. Before benchmarking, join the second node to the cluster. ~~~ -(on 192.168.100.50, 192.168.100.51) +(on node0, node1) % sudo droonga-engine-catalog-generate \ - --hosts=192.168.100.50,192.168.100.51 + --hosts=node0,node1 % sudo service droonga-engine restart % sudo service droonga-http-server restart ~~~ -After that both endpoints `192.168.100.50` and `192.168.100.51` work as a Droonga cluster with two nodes. +After that both endpoints `node0` and `node1` work as a Droonga cluster with two nodes. Run the benchmark. ~~~ -(on 192.168.100.53) +(on node3) % drnbench-request-response \ --step=2 \ --start-n-clients=0 \ @@ -545,7 +545,7 @@ Run the benchmark. --duration=30 \ --interval=10 \ --request-patterns-file=$PWD/patterns.txt \ - --default-hosts=192.168.100.50,192.168.100.51 \ + --default-hosts=node0,node1 \ --default-port=10042 \ --output-path=$PWD/droonga-result-2nodes.csv ~~~ @@ -567,18 +567,18 @@ And, the path to the result file also changed. Before benchmarking, join the last node to the cluster. ~~~ -(on 192.168.100.50, 192.168.100.51) +(on node0, node1) % sudo droonga-engine-catalog-generate \ - --hosts=192.168.100.50,192.168.100.51,192.168.100.52 + --hosts=node0,node1,node2 % sudo service droonga-engine restart % sudo service droonga-http-server restart ~~~ -After that all endpoints `192.168.100.50`, `192.168.100.51`, and `192.168.100.52` work as a Droonga cluster with three nodes. +After that all endpoints `node0`, `node1`, and `node2` work as a Droonga cluster with three nodes. Run the benchmark. ~~~ -(on 192.168.100.53) +(on node3) % drnbench-request-response \ --step=2 \ --start-n-clients=0 \ @@ -586,7 +586,7 @@ Run the benchmark. --duration=30 \ --interval=10 \ --request-patterns-file=$PWD/patterns.txt \ - --default-hosts=192.168.100.50,192.168.100.51,192.168.100.52 \ + --default-hosts=node0,node1,node2 \ --default-port=10042 \ --output-path=$PWD/droonga-result-3nodes.csv ~~~ -------------- next part -------------- HTML����������������������������...Download