Kouhei Sutou
null+****@clear*****
Thu Jul 31 22:48:03 JST 2014
Kouhei Sutou 2014-07-31 22:48:03 +0900 (Thu, 31 Jul 2014) New Revision: 60d5fbcfc6a76961805b9d9c1f2f084b7c7afd88 https://github.com/droonga/droonga.org/commit/60d5fbcfc6a76961805b9d9c1f2f084b7c7afd88 Message: Add missing files Added files: _po/ja/tutorial/1.0.5/benchmark/index.po ja/tutorial/1.0.5/benchmark/index.md Added: _po/ja/tutorial/1.0.5/benchmark/index.po (+248 -0) 100644 =================================================================== --- /dev/null +++ _po/ja/tutorial/1.0.5/benchmark/index.po 2014-07-31 22:48:03 +0900 (de7caf1) @@ -0,0 +1,248 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"PO-Revision-Date: 2014-07-31 22:42+0900\n" +"Language: ja\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" + +msgid "" +"---\n" +"title: \"How to benchmark Droonga with Groonga?\"\n" +"layout: en\n" +"---" +msgstr "" + +msgid "" +"* TOC\n" +"{:toc}" +msgstr "" + +msgid "## The goal of this tutorial" +msgstr "" + +msgid "" +"Learning steps to benchmark a [Droonga][] cluster and compare it to a [Groonga" +"][groonga]." +msgstr "" + +msgid "## Precondition" +msgstr "" + +msgid "" +"* You must have basic knowledge and experiences to set up and operate an [Ubun" +"tu][] or [CentOS][] Server.\n" +"* You must have basic knowledge and experiences to use the [Groonga][groonga] " +"via HTTP.\n" +"* You must have basic knowledge to construct a [Droonga][] cluster by your han" +"d.\n" +" Please complete the [\"getting started\" tutorial](../groonga/) before this." +msgstr "" + +msgid "## Why benchmarking?" +msgstr "" + +msgid "" +"Because Droonga has compatibility to Groonga, you'll plan to migrate your appl" +"ication based on Groonga to Droonga.\n" +"Before that, you should benchmark Droonga and confirm that it is better altern" +"ative for your application." +msgstr "" + +msgid "For example, assume that your application has following spec:" +msgstr "" + +msgid "" +" * The database contains all pages of [Japanese Wikipedia](http://ja.wikipedia" +".org/).\n" +" * 50% accesses are a fixed query for the front page. Others have different se" +"arch queries.\n" +" * There are three [Ubuntu][] 14.04LTS servers for the new Droogna cluster: `1" +"92.168.0.10`, `192.168.0.11`, and `192.168.0.12`." +msgstr "" + +msgid "## Prepare the data source" +msgstr "" + +msgid "" +"First, download the archive of Wikipedia pages and convert it to a dump file f" +"or Groonga, on the node `192.168.0.10`.\n" +"Because the archive is very large, downloading and data conversion may take so" +"me a few hours." +msgstr "" + +msgid "" +" (on 192.168.0.10)\n" +" % cd ~/\n" +" % git clone https://github.com/droonga/wikipedia-search.git\n" +" % cd wikipedia-search\n" +" % bundle install\n" +" % time rake data:convert:groonga:ja data/groonga/ja-all-pages.grn" +msgstr "" + +msgid "" +"After that, a dump file `~/wikipedia-search/data/groonga/ja-all-pages.grn` bec" +"omes available." +msgstr "" + +msgid "## Set up a Groonga server" +msgstr "" + +msgid "As a criterion, let's setup the Groonga on the node `192.168.0.10`." +msgstr "" + +msgid "" +" (on 192.168.0.10)\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" +" % sudo apt-get update\n" +" % sudo apt-get -y install groonga" +msgstr "" + +msgid "" +"Now the Groonga is available.\n" +"Prepare the database based dump files.\n" +"This may take much time (10 or more hours)." +msgstr "" + +msgid "" +" (on 192.168.0.10)\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" +"roonga/db/db)\n" +" % time (cat ~/wikipedia-search/config/groonga/indexes.grn | groonga $HOME/" +"groonga/db/db)\n" +" % time (cat ~/wikipedia-search/data/groonga/ja-all-pages.grn | groonga $HO" +"ME/groonga/db/db)" +msgstr "" + +msgid "Then start the Groonga as an HTTP server." +msgstr "" + +msgid "" +" (on 192.168.0.10)\n" +" % groonga -p 10041 -d --protocol http $HOME/groonga/db/db" +msgstr "" + +msgid "## Set up a Droonga cluster" +msgstr "" + +msgid "Install Droonga to nodes." +msgstr "" + +msgid "" +" (on 192.168.0.10, 192.168.0.11, 192.168.0.12)\n" +" % sudo apt-get update\n" +" % sudo apt-get -y upgrade\n" +" % sudo apt-get install -y ruby ruby-dev build-essential nodejs nodejs-lega" +"cy npm\n" +" % sudo gem install droonga-engine grn2drn drnbench\n" +" % sudo npm install -g droonga-http-server\n" +" % mkdir ~/droonga\n" +" % droonga-engine-catalog-generate \\\n" +" --hosts=192.168.0.10,192.168.0.11,192.168.0.12 \\\n" +" --n-workers=$(cat /proc/cpuinfo | grep processor | wc -l) \\\n" +" --output=~/droonga/catalog.json" +msgstr "" + +msgid "" +"After installation, start servers.\n" +"To run Groonga and Droonga parallelly, specify a new port number for the `droo" +"nga-http-server` different to Groonga's one.\n" +"Now we use `10042` for Droonga, `10041` for Groonga." +msgstr "" + +msgid "" +" (on 192.168.0.10)\n" +" % export host=192.168.0.10\n" +" % export DROONGA_BASE_DIR=$HOME/droonga\n" +" % droonga-engine --host=$host \\\n" +" --log-file=$DROONGA_BASE_DIR/droonga-engine.log \\\n" +" --daemon \\\n" +" --pid-file=$DROONGA_BASE_DIR/droonga-engine.pid\n" +" % droonga-http-server --port=10042 \\\n" +" --receive-host-name=$host \\\n" +" --droonga-engine-host-name=$host \\\n" +" --environment=production \\\n" +" --daemon \\\n" +" --pid-file=$DROONGA_BASE_DIR/droonga-http-server.pid" +msgstr "" + +msgid "" +" (on 192.168.0.11)\n" +" % export host=192.168.0.11\n" +" ..." +msgstr "" + +msgid "" +" (on 192.168.0.12)\n" +" % export host=192.168.0.12\n" +" ..." +msgstr "" + +msgid "" +"Next, prepare the database from dump files.\n" +"Note that you must send requests for schema and indexes to just one endpoint, " +"because parallel sending of schema definition requests for multiple nodes will" +" break the database." +msgstr "" + +msgid "" +" (on 192.168.0.10)\n" +" % time (cat ~/wikipedia-search/config/groonga/schema.grn | grn2drn | \\\n" +" droonga-send --server=192.168.0.10)\n" +" % time (cat ~/wikipedia-search/config/groonga/indexes.grn | grn2drn | \\\n" +" droonga-send --server=192.168.0.10)" +msgstr "" + +msgid "Instead you can use a direct dump from the Groonga server, like:" +msgstr "" + +msgid "" +" (on 192.168.0.10)\n" +" % time (grndump --no-dump-tables $HOME/groonga/db/db | grn2drn | \\\n" +" droonga-send --server=192.168.0.10 \\\n" +" --report-throughput)" +msgstr "" + +msgid "After that, import data from the dump file." +msgstr "" + +msgid "" +" (on 192.168.0.10)\n" +" % time (cat ~/wikipedia-search/data/groonga/ja-pages.grn | grn2drn | \\\n" +" droonga-send --server=192.168.0.10 \\\n" +" --server=192.168.0.11 \\\n" +" --server=192.168.0.12)" +msgstr "" + +msgid "" +" (on 192.168.0.10)\n" +" % time (grndump --no-dump-schema --no-dump-indexes $HOME/groonga/db/db | \\" +"\n" +" grn2drn | \\\n" +" droonga-send --server=192.168.0.10 \\\n" +" --server=192.168.0.11 \\\n" +" --server=192.168.0.12 \\\n" +" --report-throughput)" +msgstr "" + +msgid "This may take much time (10 or more hours)." +msgstr "" + +msgid "" +"(TBD, based on https://github.com/droonga/presentation-droonga-meetup-1-introd" +"uction/blob/master/benchmark/README.md )" +msgstr "" + +msgid "" +" [Ubuntu]: http://www.ubuntu.com/\n" +" [CentOS]: https://www.centos.org/\n" +" [Droonga]: https://droonga.org/\n" +" [Groonga]: http://groonga.org/\n" +" [command reference]: ../../reference/commands/" +msgstr "" Added: ja/tutorial/1.0.5/benchmark/index.md (+170 -0) 100644 =================================================================== --- /dev/null +++ ja/tutorial/1.0.5/benchmark/index.md 2014-07-31 22:48:03 +0900 (1486189) @@ -0,0 +1,170 @@ +--- +title: "How to benchmark Droonga with Groonga?" +layout: en +--- + +{% comment %} +############################################## + THIS FILE IS AUTOMATICALLY GENERATED FROM + "_po/ja/tutorial/1.0.5/benchmark/index.po" + DO NOT EDIT THIS FILE MANUALLY! +############################################## +{% endcomment %} + + +* TOC +{:toc} + +## チュートリアルのゴール + +Learning steps to benchmark a [Droonga][] cluster and compare it to a [Groonga][groonga]. + +## 前提条件 + +* You must have basic knowledge and experiences to set up and operate an [Ubuntu][] or [CentOS][] Server. +* You must have basic knowledge and experiences to use the [Groonga][groonga] via HTTP. +* You must have basic knowledge to construct a [Droonga][] cluster by your hand. + Please complete the ["getting started" tutorial](../groonga/) before this. + +## Why benchmarking? + +Because Droonga has compatibility to Groonga, you'll plan to migrate your application based on Groonga to Droonga. +Before that, you should benchmark Droonga and confirm that it is better alternative for your application. + +For example, assume that your application has following spec: + + * The database contains all pages of [Japanese Wikipedia](http://ja.wikipedia.org/). + * 50% accesses are a fixed query for the front page. Others have different search queries. + * There are three [Ubuntu][] 14.04LTS servers for the new Droogna cluster: `192.168.0.10`, `192.168.0.11`, and `192.168.0.12`. + +## Prepare the data source + +First, download the archive of Wikipedia pages and convert it to a dump file for Groonga, on the node `192.168.0.10`. +Because the archive is very large, downloading and data conversion may take some a few hours. + + (on 192.168.0.10) + % cd ~/ + % git clone https://github.com/droonga/wikipedia-search.git + % cd wikipedia-search + % bundle install + % time rake data:convert:groonga:ja data/groonga/ja-all-pages.grn + +After that, a dump file `~/wikipedia-search/data/groonga/ja-all-pages.grn` becomes available. + +## Set up a Groonga server + +As a criterion, let's setup the Groonga on the node `192.168.0.10`. + + (on 192.168.0.10) + % sudo apt-get -y install software-properties-common + % sudo add-apt-repository -y universe + % sudo add-apt-repository -y ppa:groonga/ppa + % sudo apt-get update + % sudo apt-get -y install groonga + +Now the Groonga is available. +Prepare the database based dump files. +This may take much time (10 or more hours). + + (on 192.168.0.10) + % 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) + % time (cat ~/wikipedia-search/config/groonga/indexes.grn | groonga $HOME/groonga/db/db) + % time (cat ~/wikipedia-search/data/groonga/ja-all-pages.grn | groonga $HOME/groonga/db/db) + +Then start the Groonga as an HTTP server. + + (on 192.168.0.10) + % groonga -p 10041 -d --protocol http $HOME/groonga/db/db + +## Droongaクラスタをセットアップする + +Install Droonga to nodes. + + (on 192.168.0.10, 192.168.0.11, 192.168.0.12) + % sudo apt-get update + % sudo apt-get -y upgrade + % sudo apt-get install -y ruby ruby-dev build-essential nodejs nodejs-legacy npm + % sudo gem install droonga-engine grn2drn drnbench + % sudo npm install -g droonga-http-server + % mkdir ~/droonga + % droonga-engine-catalog-generate \ + --hosts=192.168.0.10,192.168.0.11,192.168.0.12 \ + --n-workers=$(cat /proc/cpuinfo | grep processor | wc -l) \ + --output=~/droonga/catalog.json + +After installation, start servers. +To run Groonga and Droonga parallelly, specify a new port number for the `droonga-http-server` different to Groonga's one. +Now we use `10042` for Droonga, `10041` for Groonga. + + (on 192.168.0.10) + % export host=192.168.0.10 + % export DROONGA_BASE_DIR=$HOME/droonga + % droonga-engine --host=$host \ + --log-file=$DROONGA_BASE_DIR/droonga-engine.log \ + --daemon \ + --pid-file=$DROONGA_BASE_DIR/droonga-engine.pid + % droonga-http-server --port=10042 \ + --receive-host-name=$host \ + --droonga-engine-host-name=$host \ + --environment=production \ + --daemon \ + --pid-file=$DROONGA_BASE_DIR/droonga-http-server.pid + + (on 192.168.0.11) + % export host=192.168.0.11 + ... + + (on 192.168.0.12) + % export host=192.168.0.12 + ... + +Next, prepare the database from dump files. +Note that you must send requests for schema and indexes to just one endpoint, because parallel sending of schema definition requests for multiple nodes will break the database. + + (on 192.168.0.10) + % time (cat ~/wikipedia-search/config/groonga/schema.grn | grn2drn | \ + droonga-send --server=192.168.0.10) + % time (cat ~/wikipedia-search/config/groonga/indexes.grn | grn2drn | \ + droonga-send --server=192.168.0.10) + +Instead you can use a direct dump from the Groonga server, like: + + (on 192.168.0.10) + % time (grndump --no-dump-tables $HOME/groonga/db/db | grn2drn | \ + droonga-send --server=192.168.0.10 \ + --report-throughput) + +After that, import data from the dump file. + + (on 192.168.0.10) + % time (cat ~/wikipedia-search/data/groonga/ja-pages.grn | grn2drn | \ + droonga-send --server=192.168.0.10 \ + --server=192.168.0.11 \ + --server=192.168.0.12) + +Instead you can use a direct dump from the Groonga server, like: + + (on 192.168.0.10) + % time (grndump --no-dump-schema --no-dump-indexes $HOME/groonga/db/db | \ + grn2drn | \ + droonga-send --server=192.168.0.10 \ + --server=192.168.0.11 \ + --server=192.168.0.12 \ + --report-throughput) + +This may take much time (10 or more hours). + + + +(TBD, based on https://github.com/droonga/presentation-droonga-meetup-1-introduction/blob/master/benchmark/README.md ) + + + + + [Ubuntu]: http://www.ubuntu.com/ + [CentOS]: https://www.centos.org/ + [Droonga]: https://droonga.org/ + [Groonga]: http://groonga.org/ + [command reference]: ../../reference/commands/ -------------- next part -------------- HTML����������������������������...Download