YUKI Hiroshi
null+****@clear*****
Wed Jul 30 10:50:35 JST 2014
YUKI Hiroshi 2014-07-30 10:50:35 +0900 (Wed, 30 Jul 2014) New Revision: 796dd7591afb5599d96fb99375957fe7fa84170e https://github.com/droonga/presentation-droonga-meetup-1-introduction/commit/796dd7591afb5599d96fb99375957fe7fa84170e Message: Fix description of maximum database size Modified files: benchmark/README.md Modified: benchmark/README.md (+6 -14) =================================================================== --- benchmark/README.md 2014-07-30 09:01:47 +0900 (cc62a36) +++ benchmark/README.md 2014-07-30 10:50:35 +0900 (6ebbea0) @@ -43,21 +43,13 @@ worker数は、CPUの個数に合わせる。これは以下の方法で調べ ### データベースサイズの決定 -Droongaのworkerは、1プロセスあたり最大でデータベースの大きさと同じだけのメモリを消費する。 -例えばworker数4でデータベースサイズが2GiBなら、消費するメモリの量は最大で2×4=8GiBとなる。 - -データベースサイズが実メモリの量より大きいと、スワップが発生して性能が低下する。 -しかしデータベースサイズが小さすぎると、検索の処理が軽すぎてベンチマークを取りにくくなる。 -よって、データベースサイズが実メモリをギリギリ使い切らない程度のサイズになるようにする必要がある。 - - * Groongaではシングルプロセス・マルチスレッドのため、データベースの最大サイズは実メモリの量にほぼ等しい。 - それに対しDroongaでは、プロセスごとに別々にデータベースをメモリ上に保持するため、1プロセスあたりが使えるメモリの最大サイズ=データベースの最大サイズは、Groongaよりも小さくなる。 - * 既にデータベースサイズがこの計算で求めた最大サイズを超えている場合には、worker数を減らす。 - worker数を減らせば、その分だけ各プロセスが使えるメモリの最大サイズが増える=扱えるデータベースの最大サイズが増える。 - * 当然のことながら、実際に運用中のサービスがあるのであれば、データベースサイズは運用中のサービスのデータベースサイズと同等にすることが望ましい。 +GroongaもDroongaも原則として、性能を発揮できるデータベースの最大サイズは、コンピュータの物理的なメモリ搭載量が上限となる。 +例えば8GBのメモリを搭載したコンピュータであれば、データベースは8GBまでのサイズに収まることが望ましい。 +(それ以上大きなサイズになると、性能が劣化してくる。) +Droongaの場合も、worker数とデータベースの最大サイズには関係はない。 上記の検証環境では、ノードのうち2台が8GB、1台が6GBのメモリを積んでいる。 -なので、6÷4=1.5GB程度のデータベースサイズが適切と考えられる。 +なので、純粋な性能比較のためのベンチマークとしては、最大で6GB程度のデータベースサイズに留める必要がある。 ### データの準備 @@ -87,7 +79,7 @@ https://github.com/droonga/wikipedia-search/blob/master/lib/wikipedia-search/tas * 30万件のページを各ページごとに最大1000文字までロードすると、データベースは1.1GiB程度になった。 (変換には17分程度、Groongaへのロードには6分程度を要した) -以上のことから、今回は30万件のページを各ページごとに最大1000文字まで変換したデータに基づく1.1GiBのデータベースを使用した。 +今回は30万件のページを各ページごとに最大1000文字まで変換したデータに基づく1.1GiBのデータベースを使用した。 ## Groongaのセットアップ -------------- next part -------------- HTML����������������������������...Download