SlideShare a Scribd company logo
第10回 Solr勉強会


SolrCloud導入事例

 株式会社サイバーエージェント
  アメーバ事業本部 弘瀬 健




     CyberAgent, Inc.
自己紹介

     • 弘瀬 健(ひろせ けん)
     • ~2011年 業務系WEBシステム構築
     • 2011年~ サイバーエージェントで検索システム構築
        • 今までに関わったサービス
             •   Ameba検索
             •   アメーバニュース検索
             •   プロフィール検索
             •   グルっぽ検索
             •   Candy検索
             •   Simplog検索




2013/03/27                    CyberAgent, Inc.   1
アジェンダ

     • SolrCloudの概要
     • 導入事例(Simplog検索)
             •   Simplogとは
             •   システム構成
             •   その他
     • まとめ




2013/03/27                   CyberAgent, Inc.   2
SolrCloud概要

     • Solr4.0からの新機能
     • クラウドによる分散検索/インデクシング
     • zookeeperを使ってクラウド情報を管理




                   http://wiki.apache.org/solr/SolrCloud




2013/03/27                                            CyberAgent, Inc.   3
SolrCloud概要

     • SolrCloudの構成要素
             要素           説明

             collection   1まとまりの検索対象を表す。1個以上のshardにより構成される。
                          zookeeperにより管理されるsolrの設定ファイルはcollection単位で適用される。
             shard        collectionを分割したもの。1個以上のcoreにより構成される。
             node         1JVMインスタンスで起動されているSolr。
                          ポートを分ければ1サーバ内で複数nodeを起動することも可能。
             core         shardを構成する最小の単位。
                          1node内で複数のcoreを管理することもできる。




2013/03/27                             CyberAgent, Inc.                      4
導入事例(Simplog検索)

     • Simplogとは

             • スマホ用のブログサービス


             • 実績(2013/3/26現在)
                •   Solr 4.1
                •   検索対象ドキュメント数 : 295万投稿
                •   データサイズ : 1.5GB
                •   検索への反映時間 : 5分
                •   負荷
                     • クエリ数 : 3~10万 query/day
                     • ピーク帯のスループット : ~3qps
                     • 平均レスポンスタイム : 50msec



                                                          http://spapps.ameba.jp/simplog/




2013/03/27                             CyberAgent, Inc.                                     5
導入事例(Simplog検索)

     • システム構成
                                 LB


                      api 2台


                               node
              simplog_bk                       simplog
                                                         zookeeper 3台
              node 3台                         node 3台




                      batch 2台



                        Simplog DB

                                                                        6
2013/03/27                        CyberAgent, Inc.
導入事例(Simplog検索)

     • サーバ環境
             •   api (OpenStackによる仮想環境)
                 •   OS         :   Linux CentOS 6.2
                 •   メモリ        :   4GB
                 •   CPU        :   4core
                 •   disk       :   30GB
                 •   ファイルシステム   :   ext3



             •   node (OpenStackによる仮想環境)
                 •   OS         :   Linux CentOS 6.2
                 •   メモリ        :   8GB
                 •   CPU        :   4core
                 •   disk       :   30GB
                 •   ファイルシステム   :   ext3




2013/03/27                                CyberAgent, Inc.   7
導入事例(Simplog検索)

     • サーバ環境
             •   zookeeper (OpenStackによる仮想環境)
                 •   OS         :   Linux CentOS 6.2
                 •   メモリ        :   4GB
                 •   CPU        :   4core
                 •   disk       :   30GB
                 •   ファイルシステム   :   ext3



             •   batch (OpenStackによる仮想環境)
                 •   OS         :   Linux CentOS 6.2
                 •   メモリ        :   4GB
                 •   CPU        :   4core
                 •   disk       :   30GB
                 •   ファイルシステム   :   ext4




2013/03/27                                CyberAgent, Inc.   8
導入事例(Simplog検索)

                                                                                    ●node1_core1
     • コレクション構成                                                            shard1
                                                                                    node2_core1
             •   simplogコレクション
                 •   6shard                                                         ●node1_core2
                 •   3node                                                 shard2
                                                                                    node2_core2
                      • 4core/node
                          •   node1
                                                                                    ●node2_core3
                               •   shard1(leader)
                                                                           shard3
                               •   shard2(leader)
                                                                                    node3_core3
                               •   shard5
                                                                 simplog
                               •   shard6
                                                                                    ●node2_core4
                          •   node2
                                                                           shard4
                               •   shard1
                                                                                    node3_core4
                               •   shard2
                               •   shard3(leader)
                                                                                    ●node3_core5
                               •   shard4(leader)
                                                                           shard5
                          •   node3
                                                                                    node1_core5
                               •   shard3
                               •   shard4
                                                                                    ●node3_core6
                               •   shard5(leader)
                                                                           shard6
                               •   shard6(leader)
                                                                                    node1_core6


2013/03/27                                          CyberAgent, Inc.                               9
導入事例(Simplog検索)

     • コレクション構成
             •   simplog_bkコレクション
                 •   6shard                                                shard1   ●node1_core1
                 •   3node
                      • 2core/node                                         shard2   ●node1_core2
                          •   node1
                               •   shard1(leader)                          shard3   ●node2_core3
                               •   shard2(leader)                simplog
                          •   node2                                        shard4   ●node2_core4
                               •   shard3(leader)
                               •   shard4(leader)                          shard5   ●node3_core5
                          •   node3
                               •   shard5(leader)                          shard6   ●node3_core6
                               •   shard6(leader)




2013/03/27                                          CyberAgent, Inc.                               10
導入事例(Simplog検索)

     • その他
             •   SolrCloudの性能について
                 •   平均レスポンスタイム50msec!?
                      • リクエスト数、データサイズの割には性能が出ていない?

                        •   検索/更新を同時に行った際の性能を、node数/shard数を変えながら調
                            べてみた




2013/03/27                           CyberAgent, Inc.               11
導入事例(Simplog検索)

     • その他
             •   テスト環境システム構成      テストサーバ


                           api 1台


                                      node
                                         test
                                                       zookeeper 3台
                                  node 1~6台




                           batch 1台



                               test DB
                                                                      12
2013/03/27                          CyberAgent, Inc.
導入事例(Simplog検索)

     • その他
             •   テスト環境ノード用サーバ(仮想環境)
                 •   OS         :   Linux CentOS 6.4
                 •   メモリ        :   14GB
                 •   CPU        :   4core
                 •   disk       :   160GB
                 •   ファイルシステム   :   ext4


             •   テストデータ
                 •   ドキュメント数    : 26万
                 •   データサイズ     : 850MB


             •   テスト内容
                 •   テストサーバからJMeterで30分ほど200req/secの検索負荷をかける
                 •   バッチサーバから更新を行う(約65000レコード)

                 •   以降のテストケースに対する試行回数は時間の都合で1回となってます

2013/03/27                                CyberAgent, Inc.     13
導入事例(Simplog検索)

     • その他
             •   テストケース1
                 •      shard数1、node数1~6の場合の検索/更新
                         • 1core/node
                         • shardのleaderはnode1                                          ●node1_core1

                                                                                       node2_core1

                                                                                       node3_core1
                     test   shard1   ●node1_core1
                                                        ・・・            test   shard1
                                                                                       node4_core1

                                                                                       node5_core1

                                                                                       node6_core1




2013/03/27                                          CyberAgent, Inc.                                  14
導入事例(Simplog検索)

     • その他
             •   テストケース1
                 •       shard数1、node数1~6の場合の検索/更新
                          • 1core/node
                          • shardのleaderはnode1
             •   テスト結果
                                       CPU %user (node1)               response

  テストケース shard数 node数 core数/node       avg                    max      avg (ms)        median (ms)    90% line (ms)        max (ms) Throughput (req/sec)      update time(min)

             1       1    1        1                  35.29     58.4              27             12                   80        1037                  200.1                      13

                          2                           21.17    47.74              21             11                   23        6317                  199.4                      22

                          3                           19.01    42.28              13             10                   16         939                  200.1                      22

                          4                           19.55    43.32              16             10                   17        5424                  199.8                      22

                          5                           20.55    46.46              12             10                   16         574                  200.1                      22

                          6                           21.06    43.77              12             10                   15         538                  200.2                      22



                 •       node数が増えるにしたがって検索性能が向上
                          •  更新性能は劣化




2013/03/27                                                          CyberAgent, Inc.                                                                                                  15
導入事例(Simplog検索)

     • その他
             •   テストケース2                                                               ●node1_core1
                 •      shard数2、node数1~6の場合の検索/更新
                                                                                       node2_core1
                         • 2core/node
                                                                                       node3_core1
                         • 各shardのleaderはnode1に集約                             shard1
                                                                                       node4_core1

                                                                                       node5_core1

                            shard1   ●node1_core1                                      node6_core1
                     test
                            shard2   ●node1_core2
                                                        ・・・            test
                                                                                       ●node1_core2

                                                                                       node2_core2

                                                                                       node3_core2
                                                                              shard2
                                                                                       node4_core2

                                                                                       node5_core2

                                                                                       node6_core2




2013/03/27                                          CyberAgent, Inc.                                  16
導入事例(Simplog検索)

     • その他
             •       テストケース2
                     •       shard数2、node数1~6の場合の検索/更新
                              • 2core/node
                              • 各shardのleaderはnode1に集約
             •       テスト結果
                                         CPU %user (node1)               response
    テストケース shard数 node数 core数/node       avg                    max      avg (ms)        median (ms)    90% line (ms)    max (ms) Throughput (req/sec)      update time(min)
                 2       2    1      2                  67.38    90.98        1403               1449             1650        8116                   134                       19
                              2                         42.13    85.82         509                426             1033        8625                  192.1                      26
                              3                         34.03    64.65         121                 55              261        4439                  199.4                      26
                              4                         31.12    58.63              85             28              200        3673                  199.7                      27
                              5                         29.52    55.67              61             24              158        3766                  200.1                      27
                              6                         28.34    50.75              61             23              148        5881                  199.7                      27


                     •       shard数1の場合に比べて検索/更新性能が劣化
                              •   1nodeの場合の検索性能は特に劣化

                     •       shard数1の場合と同様にnode数が増えるにしたがって検索性能は向上
                              •   更新性能はnode数が増えるにしたがって劣化


2013/03/27                                                            CyberAgent, Inc.                                                                                              17
導入事例(Simplog検索)

     • その他                                                                              ●node1_core1

                                                                                        node2_core1
             •   テストケース3.1
                                                                                        node3_core1
                 •      shard数3、node数1,3,6の場合の検索/更新                            shard1
                                                                                        node4_core1
                         • 3core/node
                                                                                        node5_core1
                         • 各shardのleaderはnode1に集約
                                                                                        node6_core1

                                                                                        ●node1_core2


                             shard1   ●node1_core1                                      node2_core2

                                                                                        node3_core2
                     test    shard2   ●node1_core2
                                                         ・・・            test   shard2
                                                                                        node4_core2
                             shard3   ●node1_core3
                                                                                        node5_core2

                                                                                        node6_core2

                                                                                        ●node1_core3

                                                                                        node2_core3

                                                                                        node3_core3
                                                                               shard3
                                                                                        node4_core3

                                                                                        node5_core3

                                                                                        node6_core3




2013/03/27                                           CyberAgent, Inc.                                  18
導入事例(Simplog検索)

     • その他
             •   テストケース3.2
                 •   shard数3、node数3の場合の検索/更新
                      • 3core/node
                      • 各shardのleaderは各nodeに分散

                                                  ●node1_core1

                                      shard1       node2_core1

                                                   node3_core1

                                                   node1_core2

                               test   shard2      ●node2_core2

                                                   node3_core2

                                                   node1_core3

                                      shard3       node2_core3

                                                  ●node3_core3




2013/03/27                             CyberAgent, Inc.          19
導入事例(Simplog検索)

     • その他
             •     テストケース3.1
                   •       shard数3、node数1,3,6の場合の検索/更新(3core/node、leader集約)
             •     テストケース3.2
                   •       shard数3、node数3の場合の検索/更新(3core/node、 leader分散)
             •     テスト結果
                                        CPU %user (node1)               response
   テストケース shard数 node数 core数/node       avg                    max      avg (ms)    median (ms)    90% line (ms)    max (ms) Throughput (req/sec)      update time(min)
             3.1       3     1      3                  73.37    91.77        1561           1611             1885        7375                  121.3                      20
             3.1             3                         37.56     79.9         232            170              475        5108                  197.2                      28
             3.2             3                         35.65    90.52         203            141              388       16014                  195.3                      30
             3.1             6                         32.23    70.93         110             26              218        8192                  196.9                      30



                   •       shard数2の場合に比べて検索/更新性能が劣化
                            •   1nodeの場合の検索性能は特に劣化

                   •       shard数2の場合と同様にnode数が増えるにしたがって検索性能は向上
                            •   更新性能はnode数が増えるにしたがって劣化

                   •       leaderを各nodeに分散させた場合の影響は判別不可(3.1、3.2)
2013/03/27                                                           CyberAgent, Inc.                                                                                          20
導入事例(Simplog検索)
                                                                                        ●node1_core1

                                                                                        node2_core1

     • その他                                                                              node3_core1
                                                                               shard1
             •   テストケース4.1                                                              node4_core1

                                                                                        node5_core1
                 •      shard数4、node数1,3,6の場合の検索/更新
                                                                                        node6_core1
                         • 4core/node                                                   ●node1_core2

                         • 各shardのleaderはnode1に集約                                       node2_core2

                                                                                        node3_core2
                                                                               shard2
                             shard1   ●node1_core1                                      node4_core2

                                                                                        node5_core2
                             shard2   ●node1_core2
                                                                                        node6_core2
                     test
                             shard3   ●node1_core3
                                                             ・・・        test
                                                                                        ●node1_core3

                                                                                        node2_core3
                             shard4   ●node1_core4
                                                                                        node3_core3
                                                                               shard3
                                                                                        node4_core3

                                                                                        node5_core3

                                                                                        node6_core3

                                                                                        ●node1_core4

                                                                                        node2_core4

                                                                                        node3_core4
                                                                               shard4
                                                                                        node4_core4

                                                                                        node5_core4

                                                                                        node6_core4


2013/03/27                                           CyberAgent, Inc.                                  21
導入事例(Simplog検索)

     • その他
             •   テストケース4.2
                 •   shard数4、node数3の場合の検索/更新
                      • 各shardのleaderは各nodeに分散
                      • node1
                                                                         ●node1_core1
                          • shard1(laeder)                      shard1
                          • shard2(laeder)                               node2_core1

                      • node2                                            ●node1_core2
                                                                shard2
                          • shard1                                       node3_core2
                          • shard3(laeder)               test
                                                                         ●node2_core3
                          • shard4                              shard3
                                                                         node3_core3
                      • node3
                          • shard2                                       ●node3_core4
                                                                shard4
                          • shard3                                       node2_core4
                          • shard4(laeder)




2013/03/27                            CyberAgent, Inc.                                  22
導入事例(Simplog検索)

     • その他
             •   テストケース4.3
                 •   shard数4、node数4の場合の検索/更新
                      • 2core/node
                      • 各shardのleaderは各nodeに分散
                                                           ●node1_core1
                                             shard1
                                                           node2_core1

                                                           ●node2_core2
                                             shard2
                                                           node3_core2
                                 test
                                                           ●node3_core3
                                             shard3
                                                           node4_core3

                                                           ●node4_core4
                                             shard4
                                                           node1_core4




2013/03/27                              CyberAgent, Inc.
導入事例(Simplog検索)

     • その他
             •     テストケース4.1 : shard数4、node数1,3,6の場合の検索/更新(4core/node、 leader集約)
             •     テストケース4.2 : shard数4、node数3の場合の検索/更新(node1=2core、node2,3=3core、leader分散)
             •     テストケース4.3 : shard数4、node数4の場合の検索/更新(2core/node、leader分散)


             •     テスト結果
                                       CPU %user (node1)               response
  テストケース shard数 node数 core数/node       avg                    max      avg (ms)    median (ms)    90% line (ms)    max (ms) Throughput (req/sec)      update time(min)

             4.1        4    1     4                  76.19    92.96        1738           1785             2159        8203                  109.6                      22

             4.1             3                        40.95    87.97         548            459             1068       10010                   189                       31

             4.2             3   2、3                  29.28    78.14         228            163              428        9040                  195.2                      30

             4.3             4     2                  28.53     80.2         122             39              256        7352                  198.2                      28

             4.1             6     4                  33.77    88.28         179             79              373       10889                  194.6                      32



                    •       shard数3の場合に比べて検索/更新性能が劣化
                             •    1nodeの場合の検索性能は特に劣化
                    •       shard数3の場合と同様にnode数が増えるにしたがって検索性能は向上
                             •    更新性能はnode数が増えるにしたがって劣化
                    •       shard数、node数が同じ場合、各node内のcore数が少ない方が検索/更新性能は良い
                            (4.1 node3、4.2)
                    •       nodeを増やすより1nodeあたりのcore数を減らす方が検索/更新性能が良くなる場合もある
                            (4.3、4.1 node6)
2013/03/27                                                          CyberAgent, Inc.                                                                                          24
導入事例(Simplog検索)

     • その他
             •   テストケース5.1
                 •   shard数6、node数3の場合の検索/更新
                      • 2core/node
                      • simplog_bkコレクション同等の構成
                                           shard1        ●node1_core1

                                           shard2        ●node1_core2

                                           shard3        ●node2_core3
                               test
                                           shard4        ●node2_core4

                                           shard5        ●node3_core5

                                           shard6        ●node3_core6




2013/03/27                            CyberAgent, Inc.                  25
導入事例(Simplog検索)

     • その他
             •   テストケース5.2
                 •   shard数6、node数3の場合の検索/更新
                      • 4core/node
                      • simplogコレクション同等の構成
                                                      ●node1_core1
                                         shard1
                                                          node2_core1

                                                      ●node1_core2
                                         shard2
                                                          node2_core2

                                                      ●node2_core3
                                         shard3
                                                          node3_core3
                                test
                                                      ●node2_core4
                                         shard4
                                                          node3_core4

                                                      ●node3_core5
                                         shard5
                                                          node1_core5

                                                      ●node3_core6
                                         shard6
                                                          node1_core6

2013/03/27                             CyberAgent, Inc.                 26
導入事例(Simplog検索)

     • その他
             •   テストケース5.3
                 •   shard数6、node数6の場合の検索/更新                                         ●node1_core1
                                                                            shard1
                      • 2core/node
                                                                                     node4_core1
                        •   node1
                             •   shard1(leader)                                      ●node1_core2
                             •   shard2(leader)                             shard2
                                                                                     node4_core2
                        •   node2
                             •   shard3(leader)                                      ●node2_core3
                             •   shard4(leader)                             shard3
                        •   node3                                                    node5_core3
                             •   shard5(leader)                      test
                                                                                     ●node2_core4
                             •   shard6(leader)
                                                                            shard4
                        •   node4                                                    node5_core4
                             •   shard1
                             •   shard2                                              ●node3_core5
                        •   node5                                           shard5
                                                                                     node6_core5
                             •   shard3
                             •   shard4                                              ●node3_core6
                        •   node6                                           shard6
                             •   shard5                                              node6_core6
                             •   shard6
2013/03/27                                        CyberAgent, Inc.                                  27
導入事例(Simplog検索)

     • その他
             •         テストケース5.1 : shard数6、node数3の場合の検索/更新(2core/node、 simplog_bkコレクション同等の構成)
             •         テストケース5.2 : shard数6、node数3の場合の検索/更新(4core/node、 simplogコレクション同等の構成)
             •         テストケース5.3 : shard数6、node数6の場合の検索/更新( 2core/node 、simplog_bkコレクションにレプリカを追
                       加した状態の構成)


             •         テスト結果
                                           CPU %user (node1)               response
    テストケース shard数 node数 core数/node         avg                    max      avg (ms)        median (ms)    90% line (ms)    max (ms) Throughput (req/sec)      update time(min)
                 5.1        6     3    2                  42.05    77.33         152                 99              317        5103                  199.3                      20
                 5.2              3    4                   38.7     87.5         713                644             1340       10457                  180.5                      30
                 5.3              6    2                  24.59    73.12              96             28              206        4668                  199.1                      27




                        •       shard数4の場合と同様にnode数が増えるにしたがって検索性能は向上(5.1、5.3)
                                 •   更新性能はnode数が増えるにしたがって劣化

                        •       shard数、node数が同じ場合1nodeあたりのcore数が少ない方が検索/更新性能は良い
                                (5.1、5.2)




2013/03/27                                                              CyberAgent, Inc.                                                                                              28
導入事例(Simplog検索)

     • その他
             •         テスト結果(shard数による違い)
                                          CPU %user (node1)               response
    テストケース shard数 node数 core数/node        avg                    max      avg (ms)        median (ms)    90% line (ms)    max (ms) Throughput (req/sec)      update time(min)
                  2        2     3    2                  34.03    64.65         121                 55              261        4439                  199.4                      26
                 5.1       6     3    2                  42.05    77.33         152                 99              317        5103                  199.3                      20
                  2        2     4    2                  31.12    58.63              85             28              200        3673                  199.7                      27
                 4.3       4     4    2                  28.53     80.2         122                 39              256        7352                  198.2                      28
                 4.1       4     3    4                  40.95    87.97         548                459             1068       10010                   189                       31
                 5.2       6     3    4                   38.7     87.5         713                644             1340       10457                  180.5                      30
                  2        2     6    2                  28.34    50.75              61             23              148        5881                  199.7                      27
                 5.3       6     6    2                  24.59    73.12              96             28              206        4668                  199.1                      27




                       •       node数/1nodeあたりのcore数に関係なく、collection内のshard数が少ない方が検
                               索性能が良い
                                • 更新性能については判別不可




2013/03/27                                                             CyberAgent, Inc.                                                                                              29
導入事例(Simplog検索)

     • その他
             •   テスト結果(まとめ)
                 •   1nodeあたりのcore数は少ないほど検索/更新性能が良い

                 •   1collectionあたりのshard数は少ないほど検索性能が良い

                 •   1node内のcore数が同じ場合、nodeが多いほど検索性能が良い
                      •   更新性能はnode数が少ない方が良い

                 •   node数と1nodeあたりのcore数
                      •  nodeを増やすより1nodeあたりのcore数を減らす方が検索/更新性能が良くなる場合もあ
                         る




2013/03/27                            CyberAgent, Inc.                    30
まとめ

     • SolrCloudの利点
             •   Solrの設定ファイルをコレクション内で一元管理できる
             •   検索/更新クライアントは各コレクション内のnodeを意識しなくてよい
                 •   コレクション内のnode(レプリカ)を追加しても検索/更新クライアントの変更は不要


     • SolrCloud利用時の注意点
             •   shardの分割機能はまだないのでコレクション作成時のデータサイズの見積もり
                 に注意
                 •   shardを増やす場合は合わせてnode数も検討
             •   コレクション情報が壊れると検索/更新できなくなる
                 •   更新処理の必須条件
                      • 全shardのleader nodeのステータスがactiveであること
                 •   検索処理の必須条件
                      • 各shardに最低1つのnode(core)が割り当てられていること
                         • shardが1つでも欠落するとそのコレクションに対しては検索不可
                             • shardsパラメータで検索対象shardを明示的に指定した場合は可能
             •   パフォーマンスは素のSolrの方が良い

2013/03/27                          CyberAgent, Inc.                 31
ご清聴ありがとうございました




2013/03/27        CyberAgent, Inc.   32

More Related Content

PDF
TLS, HTTP/2演習
PDF
分散トレーシング技術について(Open tracingやjaeger)
PDF
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
PDF
Spring Cloud Data Flow の紹介 #streamctjp
PDF
What's new in Spring Batch 5
PPTX
分散システムについて語らせてくれ
PDF
Oracle Spatial 概要説明資料
PPTX
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)
TLS, HTTP/2演習
分散トレーシング技術について(Open tracingやjaeger)
[GKE & Spanner 勉強会] Cloud Spanner の技術概要
Spring Cloud Data Flow の紹介 #streamctjp
What's new in Spring Batch 5
分散システムについて語らせてくれ
Oracle Spatial 概要説明資料
Kubernetes環境に対する性能試験(Kubernetes Novice Tokyo #2 発表資料)

What's hot (20)

PDF
HTTPを理解する
 
PDF
Dockerからcontainerdへの移行
PPTX
Dockerからcontainerdへの移行
PDF
Apache Kafka 0.11 の Exactly Once Semantics
PDF
Kuberneteの運用を支えるGitOps
PDF
ネットワークでなぜ遅延が生じるのか
PPTX
DeNAの最新のマスタデータ管理システム Oyakata の全容
PDF
それはYAGNIか? それとも思考停止か?
PDF
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
PDF
超実践 Cloud Spanner 設計講座
PDF
JVMのGCアルゴリズムとチューニング
PDF
20分でわかるgVisor入門
PDF
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
PDF
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
PDF
SolrとElasticsearchを比べてみよう
PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解
PDF
ドメイン駆動設計サンプルコードの徹底解説
PDF
マイクロサービスアーキテクチャ とは何か
HTTPを理解する
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Apache Kafka 0.11 の Exactly Once Semantics
Kuberneteの運用を支えるGitOps
ネットワークでなぜ遅延が生じるのか
DeNAの最新のマスタデータ管理システム Oyakata の全容
それはYAGNIか? それとも思考停止か?
[Oracle DBA & Developer Day 2016] しばちょう先生の特別講義!!ストレージ管理のベストプラクティス ~ASMからExada...
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
超実践 Cloud Spanner 設計講座
JVMのGCアルゴリズムとチューニング
20分でわかるgVisor入門
Amazon Game Tech Night #20 ゲームバックエンド開発関連セッションのre:cap
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
SolrとElasticsearchを比べてみよう
Docker道場オンライン#1 Docker基礎概念と用語の理解
ドメイン駆動設計サンプルコードの徹底解説
マイクロサービスアーキテクチャ とは何か
Ad

Viewers also liked (20)

PDF
CSS3Rendererを使ってiOSでもサクサク3D
PPTX
The new repository in AEM 6
PDF
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
PDF
トレジャーデータ 導入体験記 リブセンス編
PPTX
Elasticsearch+nodejs+dynamodbで作る全社システム基盤
PDF
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
PDF
データ分析チームの振り返り
PDF
学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)
PPTX
Solr6 の紹介(第18回 Solr勉強会 資料) (2016年6月10日)
PDF
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
PDF
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
PPTX
Solr Exchange: Introduction to SolrCloud
PDF
Hivemallで始める不動産価格推定サービス
PPTX
Lucene/Solr Revolution 2016 参加レポート
PDF
SolrとElasticsearchの比較
PDF
Cloud Native Hadoop #cwt2016
PDF
D3.jsと学ぶVisualization(可視化)の世界
PDF
爆速クエリエンジン”Presto”を使いたくなる話
PDF
大規模データに対するデータサイエンスの進め方 #CWT2016
PPTX
Apache development with GitHub and Travis CI
CSS3Rendererを使ってiOSでもサクサク3D
The new repository in AEM 6
Cloudera + MicrosoftでHadoopするのがイイらしい。 #CWT2016
トレジャーデータ 導入体験記 リブセンス編
Elasticsearch+nodejs+dynamodbで作る全社システム基盤
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
データ分析チームの振り返り
学術コンテンツサービスでの活用事例@Lucene/Solr勉強会(2015.5.13)
Solr6 の紹介(第18回 Solr勉強会 資料) (2016年6月10日)
第17回Lucene/Solr勉強会 #SolrJP – Apache Lucene Solrによる形態素解析の課題とN-bestの提案
3DCG(3Dコンピュータグラフィック)をWebGLで始めよう
Solr Exchange: Introduction to SolrCloud
Hivemallで始める不動産価格推定サービス
Lucene/Solr Revolution 2016 参加レポート
SolrとElasticsearchの比較
Cloud Native Hadoop #cwt2016
D3.jsと学ぶVisualization(可視化)の世界
爆速クエリエンジン”Presto”を使いたくなる話
大規模データに対するデータサイエンスの進め方 #CWT2016
Apache development with GitHub and Travis CI
Ad

Similar to 第10回solr勉強会 solr cloudの導入事例 (20)

PPTX
POWER8サーバでMariaDBベンチマーク
PPTX
SunspotではじめるSolr入門
PPTX
Tokyo r30 beginner
PPTX
Tokyo r38
PDF
Rユーザのためのspark入門
PDF
[Node-RED] ファンクションノードのデバッグどうしてる?
KEY
1台から500台までのMySQL運用(YAPC::Asia編)
PPTX
Elasticsearch as a Distributed System
PDF
WalBの紹介
PPTX
高速な暗号実装のためにしてきたこと
PDF
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
PPTX
EmbulkとDigdagとデータ分析基盤と
PPTX
EmbulkとDigdagとデータ分析基盤と
PDF
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
PDF
TripleOの光と闇
PDF
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
PDF
20121215 DevLOVE2012 Mahout on AWS
PPTX
はじめてのElasticsearchクラスタ
PDF
Learning spaerk chapter03
PDF
Zabbixのパフォーマンスチューニング & インストール時の注意点
POWER8サーバでMariaDBベンチマーク
SunspotではじめるSolr入門
Tokyo r30 beginner
Tokyo r38
Rユーザのためのspark入門
[Node-RED] ファンクションノードのデバッグどうしてる?
1台から500台までのMySQL運用(YAPC::Asia編)
Elasticsearch as a Distributed System
WalBの紹介
高速な暗号実装のためにしてきたこと
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
位置情報を使ったサービス「スマポ」をPostgreSQLで作ってみた db tech showcase 2013 Tokyo
TripleOの光と闇
SmartNews TechNight Vol5 : SmartNews AdServer 解体新書 / ポストモーテム
20121215 DevLOVE2012 Mahout on AWS
はじめてのElasticsearchクラスタ
Learning spaerk chapter03
Zabbixのパフォーマンスチューニング & インストール時の注意点

第10回solr勉強会 solr cloudの導入事例

  • 2. 自己紹介 • 弘瀬 健(ひろせ けん) • ~2011年 業務系WEBシステム構築 • 2011年~ サイバーエージェントで検索システム構築 • 今までに関わったサービス • Ameba検索 • アメーバニュース検索 • プロフィール検索 • グルっぽ検索 • Candy検索 • Simplog検索 2013/03/27 CyberAgent, Inc. 1
  • 3. アジェンダ • SolrCloudの概要 • 導入事例(Simplog検索) • Simplogとは • システム構成 • その他 • まとめ 2013/03/27 CyberAgent, Inc. 2
  • 4. SolrCloud概要 • Solr4.0からの新機能 • クラウドによる分散検索/インデクシング • zookeeperを使ってクラウド情報を管理 http://wiki.apache.org/solr/SolrCloud 2013/03/27 CyberAgent, Inc. 3
  • 5. SolrCloud概要 • SolrCloudの構成要素 要素 説明 collection 1まとまりの検索対象を表す。1個以上のshardにより構成される。 zookeeperにより管理されるsolrの設定ファイルはcollection単位で適用される。 shard collectionを分割したもの。1個以上のcoreにより構成される。 node 1JVMインスタンスで起動されているSolr。 ポートを分ければ1サーバ内で複数nodeを起動することも可能。 core shardを構成する最小の単位。 1node内で複数のcoreを管理することもできる。 2013/03/27 CyberAgent, Inc. 4
  • 6. 導入事例(Simplog検索) • Simplogとは • スマホ用のブログサービス • 実績(2013/3/26現在) • Solr 4.1 • 検索対象ドキュメント数 : 295万投稿 • データサイズ : 1.5GB • 検索への反映時間 : 5分 • 負荷 • クエリ数 : 3~10万 query/day • ピーク帯のスループット : ~3qps • 平均レスポンスタイム : 50msec http://spapps.ameba.jp/simplog/ 2013/03/27 CyberAgent, Inc. 5
  • 7. 導入事例(Simplog検索) • システム構成 LB api 2台 node simplog_bk simplog zookeeper 3台 node 3台 node 3台 batch 2台 Simplog DB 6 2013/03/27 CyberAgent, Inc.
  • 8. 導入事例(Simplog検索) • サーバ環境 • api (OpenStackによる仮想環境) • OS : Linux CentOS 6.2 • メモリ : 4GB • CPU : 4core • disk : 30GB • ファイルシステム : ext3 • node (OpenStackによる仮想環境) • OS : Linux CentOS 6.2 • メモリ : 8GB • CPU : 4core • disk : 30GB • ファイルシステム : ext3 2013/03/27 CyberAgent, Inc. 7
  • 9. 導入事例(Simplog検索) • サーバ環境 • zookeeper (OpenStackによる仮想環境) • OS : Linux CentOS 6.2 • メモリ : 4GB • CPU : 4core • disk : 30GB • ファイルシステム : ext3 • batch (OpenStackによる仮想環境) • OS : Linux CentOS 6.2 • メモリ : 4GB • CPU : 4core • disk : 30GB • ファイルシステム : ext4 2013/03/27 CyberAgent, Inc. 8
  • 10. 導入事例(Simplog検索) ●node1_core1 • コレクション構成 shard1 node2_core1 • simplogコレクション • 6shard ●node1_core2 • 3node shard2 node2_core2 • 4core/node • node1 ●node2_core3 • shard1(leader) shard3 • shard2(leader) node3_core3 • shard5 simplog • shard6 ●node2_core4 • node2 shard4 • shard1 node3_core4 • shard2 • shard3(leader) ●node3_core5 • shard4(leader) shard5 • node3 node1_core5 • shard3 • shard4 ●node3_core6 • shard5(leader) shard6 • shard6(leader) node1_core6 2013/03/27 CyberAgent, Inc. 9
  • 11. 導入事例(Simplog検索) • コレクション構成 • simplog_bkコレクション • 6shard shard1 ●node1_core1 • 3node • 2core/node shard2 ●node1_core2 • node1 • shard1(leader) shard3 ●node2_core3 • shard2(leader) simplog • node2 shard4 ●node2_core4 • shard3(leader) • shard4(leader) shard5 ●node3_core5 • node3 • shard5(leader) shard6 ●node3_core6 • shard6(leader) 2013/03/27 CyberAgent, Inc. 10
  • 12. 導入事例(Simplog検索) • その他 • SolrCloudの性能について • 平均レスポンスタイム50msec!? • リクエスト数、データサイズの割には性能が出ていない? • 検索/更新を同時に行った際の性能を、node数/shard数を変えながら調 べてみた 2013/03/27 CyberAgent, Inc. 11
  • 13. 導入事例(Simplog検索) • その他 • テスト環境システム構成 テストサーバ api 1台 node test zookeeper 3台 node 1~6台 batch 1台 test DB 12 2013/03/27 CyberAgent, Inc.
  • 14. 導入事例(Simplog検索) • その他 • テスト環境ノード用サーバ(仮想環境) • OS : Linux CentOS 6.4 • メモリ : 14GB • CPU : 4core • disk : 160GB • ファイルシステム : ext4 • テストデータ • ドキュメント数 : 26万 • データサイズ : 850MB • テスト内容 • テストサーバからJMeterで30分ほど200req/secの検索負荷をかける • バッチサーバから更新を行う(約65000レコード) • 以降のテストケースに対する試行回数は時間の都合で1回となってます 2013/03/27 CyberAgent, Inc. 13
  • 15. 導入事例(Simplog検索) • その他 • テストケース1 • shard数1、node数1~6の場合の検索/更新 • 1core/node • shardのleaderはnode1 ●node1_core1 node2_core1 node3_core1 test shard1 ●node1_core1 ・・・ test shard1 node4_core1 node5_core1 node6_core1 2013/03/27 CyberAgent, Inc. 14
  • 16. 導入事例(Simplog検索) • その他 • テストケース1 • shard数1、node数1~6の場合の検索/更新 • 1core/node • shardのleaderはnode1 • テスト結果 CPU %user (node1) response テストケース shard数 node数 core数/node avg max avg (ms) median (ms) 90% line (ms) max (ms) Throughput (req/sec) update time(min) 1 1 1 1 35.29 58.4 27 12 80 1037 200.1 13 2 21.17 47.74 21 11 23 6317 199.4 22 3 19.01 42.28 13 10 16 939 200.1 22 4 19.55 43.32 16 10 17 5424 199.8 22 5 20.55 46.46 12 10 16 574 200.1 22 6 21.06 43.77 12 10 15 538 200.2 22 • node数が増えるにしたがって検索性能が向上 • 更新性能は劣化 2013/03/27 CyberAgent, Inc. 15
  • 17. 導入事例(Simplog検索) • その他 • テストケース2 ●node1_core1 • shard数2、node数1~6の場合の検索/更新 node2_core1 • 2core/node node3_core1 • 各shardのleaderはnode1に集約 shard1 node4_core1 node5_core1 shard1 ●node1_core1 node6_core1 test shard2 ●node1_core2 ・・・ test ●node1_core2 node2_core2 node3_core2 shard2 node4_core2 node5_core2 node6_core2 2013/03/27 CyberAgent, Inc. 16
  • 18. 導入事例(Simplog検索) • その他 • テストケース2 • shard数2、node数1~6の場合の検索/更新 • 2core/node • 各shardのleaderはnode1に集約 • テスト結果 CPU %user (node1) response テストケース shard数 node数 core数/node avg max avg (ms) median (ms) 90% line (ms) max (ms) Throughput (req/sec) update time(min) 2 2 1 2 67.38 90.98 1403 1449 1650 8116 134 19 2 42.13 85.82 509 426 1033 8625 192.1 26 3 34.03 64.65 121 55 261 4439 199.4 26 4 31.12 58.63 85 28 200 3673 199.7 27 5 29.52 55.67 61 24 158 3766 200.1 27 6 28.34 50.75 61 23 148 5881 199.7 27 • shard数1の場合に比べて検索/更新性能が劣化 • 1nodeの場合の検索性能は特に劣化 • shard数1の場合と同様にnode数が増えるにしたがって検索性能は向上 • 更新性能はnode数が増えるにしたがって劣化 2013/03/27 CyberAgent, Inc. 17
  • 19. 導入事例(Simplog検索) • その他 ●node1_core1 node2_core1 • テストケース3.1 node3_core1 • shard数3、node数1,3,6の場合の検索/更新 shard1 node4_core1 • 3core/node node5_core1 • 各shardのleaderはnode1に集約 node6_core1 ●node1_core2 shard1 ●node1_core1 node2_core2 node3_core2 test shard2 ●node1_core2 ・・・ test shard2 node4_core2 shard3 ●node1_core3 node5_core2 node6_core2 ●node1_core3 node2_core3 node3_core3 shard3 node4_core3 node5_core3 node6_core3 2013/03/27 CyberAgent, Inc. 18
  • 20. 導入事例(Simplog検索) • その他 • テストケース3.2 • shard数3、node数3の場合の検索/更新 • 3core/node • 各shardのleaderは各nodeに分散 ●node1_core1 shard1 node2_core1 node3_core1 node1_core2 test shard2 ●node2_core2 node3_core2 node1_core3 shard3 node2_core3 ●node3_core3 2013/03/27 CyberAgent, Inc. 19
  • 21. 導入事例(Simplog検索) • その他 • テストケース3.1 • shard数3、node数1,3,6の場合の検索/更新(3core/node、leader集約) • テストケース3.2 • shard数3、node数3の場合の検索/更新(3core/node、 leader分散) • テスト結果 CPU %user (node1) response テストケース shard数 node数 core数/node avg max avg (ms) median (ms) 90% line (ms) max (ms) Throughput (req/sec) update time(min) 3.1 3 1 3 73.37 91.77 1561 1611 1885 7375 121.3 20 3.1 3 37.56 79.9 232 170 475 5108 197.2 28 3.2 3 35.65 90.52 203 141 388 16014 195.3 30 3.1 6 32.23 70.93 110 26 218 8192 196.9 30 • shard数2の場合に比べて検索/更新性能が劣化 • 1nodeの場合の検索性能は特に劣化 • shard数2の場合と同様にnode数が増えるにしたがって検索性能は向上 • 更新性能はnode数が増えるにしたがって劣化 • leaderを各nodeに分散させた場合の影響は判別不可(3.1、3.2) 2013/03/27 CyberAgent, Inc. 20
  • 22. 導入事例(Simplog検索) ●node1_core1 node2_core1 • その他 node3_core1 shard1 • テストケース4.1 node4_core1 node5_core1 • shard数4、node数1,3,6の場合の検索/更新 node6_core1 • 4core/node ●node1_core2 • 各shardのleaderはnode1に集約 node2_core2 node3_core2 shard2 shard1 ●node1_core1 node4_core2 node5_core2 shard2 ●node1_core2 node6_core2 test shard3 ●node1_core3 ・・・ test ●node1_core3 node2_core3 shard4 ●node1_core4 node3_core3 shard3 node4_core3 node5_core3 node6_core3 ●node1_core4 node2_core4 node3_core4 shard4 node4_core4 node5_core4 node6_core4 2013/03/27 CyberAgent, Inc. 21
  • 23. 導入事例(Simplog検索) • その他 • テストケース4.2 • shard数4、node数3の場合の検索/更新 • 各shardのleaderは各nodeに分散 • node1 ●node1_core1 • shard1(laeder) shard1 • shard2(laeder) node2_core1 • node2 ●node1_core2 shard2 • shard1 node3_core2 • shard3(laeder) test ●node2_core3 • shard4 shard3 node3_core3 • node3 • shard2 ●node3_core4 shard4 • shard3 node2_core4 • shard4(laeder) 2013/03/27 CyberAgent, Inc. 22
  • 24. 導入事例(Simplog検索) • その他 • テストケース4.3 • shard数4、node数4の場合の検索/更新 • 2core/node • 各shardのleaderは各nodeに分散 ●node1_core1 shard1 node2_core1 ●node2_core2 shard2 node3_core2 test ●node3_core3 shard3 node4_core3 ●node4_core4 shard4 node1_core4 2013/03/27 CyberAgent, Inc.
  • 25. 導入事例(Simplog検索) • その他 • テストケース4.1 : shard数4、node数1,3,6の場合の検索/更新(4core/node、 leader集約) • テストケース4.2 : shard数4、node数3の場合の検索/更新(node1=2core、node2,3=3core、leader分散) • テストケース4.3 : shard数4、node数4の場合の検索/更新(2core/node、leader分散) • テスト結果 CPU %user (node1) response テストケース shard数 node数 core数/node avg max avg (ms) median (ms) 90% line (ms) max (ms) Throughput (req/sec) update time(min) 4.1 4 1 4 76.19 92.96 1738 1785 2159 8203 109.6 22 4.1 3 40.95 87.97 548 459 1068 10010 189 31 4.2 3 2、3 29.28 78.14 228 163 428 9040 195.2 30 4.3 4 2 28.53 80.2 122 39 256 7352 198.2 28 4.1 6 4 33.77 88.28 179 79 373 10889 194.6 32 • shard数3の場合に比べて検索/更新性能が劣化 • 1nodeの場合の検索性能は特に劣化 • shard数3の場合と同様にnode数が増えるにしたがって検索性能は向上 • 更新性能はnode数が増えるにしたがって劣化 • shard数、node数が同じ場合、各node内のcore数が少ない方が検索/更新性能は良い (4.1 node3、4.2) • nodeを増やすより1nodeあたりのcore数を減らす方が検索/更新性能が良くなる場合もある (4.3、4.1 node6) 2013/03/27 CyberAgent, Inc. 24
  • 26. 導入事例(Simplog検索) • その他 • テストケース5.1 • shard数6、node数3の場合の検索/更新 • 2core/node • simplog_bkコレクション同等の構成 shard1 ●node1_core1 shard2 ●node1_core2 shard3 ●node2_core3 test shard4 ●node2_core4 shard5 ●node3_core5 shard6 ●node3_core6 2013/03/27 CyberAgent, Inc. 25
  • 27. 導入事例(Simplog検索) • その他 • テストケース5.2 • shard数6、node数3の場合の検索/更新 • 4core/node • simplogコレクション同等の構成 ●node1_core1 shard1 node2_core1 ●node1_core2 shard2 node2_core2 ●node2_core3 shard3 node3_core3 test ●node2_core4 shard4 node3_core4 ●node3_core5 shard5 node1_core5 ●node3_core6 shard6 node1_core6 2013/03/27 CyberAgent, Inc. 26
  • 28. 導入事例(Simplog検索) • その他 • テストケース5.3 • shard数6、node数6の場合の検索/更新 ●node1_core1 shard1 • 2core/node node4_core1 • node1 • shard1(leader) ●node1_core2 • shard2(leader) shard2 node4_core2 • node2 • shard3(leader) ●node2_core3 • shard4(leader) shard3 • node3 node5_core3 • shard5(leader) test ●node2_core4 • shard6(leader) shard4 • node4 node5_core4 • shard1 • shard2 ●node3_core5 • node5 shard5 node6_core5 • shard3 • shard4 ●node3_core6 • node6 shard6 • shard5 node6_core6 • shard6 2013/03/27 CyberAgent, Inc. 27
  • 29. 導入事例(Simplog検索) • その他 • テストケース5.1 : shard数6、node数3の場合の検索/更新(2core/node、 simplog_bkコレクション同等の構成) • テストケース5.2 : shard数6、node数3の場合の検索/更新(4core/node、 simplogコレクション同等の構成) • テストケース5.3 : shard数6、node数6の場合の検索/更新( 2core/node 、simplog_bkコレクションにレプリカを追 加した状態の構成) • テスト結果 CPU %user (node1) response テストケース shard数 node数 core数/node avg max avg (ms) median (ms) 90% line (ms) max (ms) Throughput (req/sec) update time(min) 5.1 6 3 2 42.05 77.33 152 99 317 5103 199.3 20 5.2 3 4 38.7 87.5 713 644 1340 10457 180.5 30 5.3 6 2 24.59 73.12 96 28 206 4668 199.1 27 • shard数4の場合と同様にnode数が増えるにしたがって検索性能は向上(5.1、5.3) • 更新性能はnode数が増えるにしたがって劣化 • shard数、node数が同じ場合1nodeあたりのcore数が少ない方が検索/更新性能は良い (5.1、5.2) 2013/03/27 CyberAgent, Inc. 28
  • 30. 導入事例(Simplog検索) • その他 • テスト結果(shard数による違い) CPU %user (node1) response テストケース shard数 node数 core数/node avg max avg (ms) median (ms) 90% line (ms) max (ms) Throughput (req/sec) update time(min) 2 2 3 2 34.03 64.65 121 55 261 4439 199.4 26 5.1 6 3 2 42.05 77.33 152 99 317 5103 199.3 20 2 2 4 2 31.12 58.63 85 28 200 3673 199.7 27 4.3 4 4 2 28.53 80.2 122 39 256 7352 198.2 28 4.1 4 3 4 40.95 87.97 548 459 1068 10010 189 31 5.2 6 3 4 38.7 87.5 713 644 1340 10457 180.5 30 2 2 6 2 28.34 50.75 61 23 148 5881 199.7 27 5.3 6 6 2 24.59 73.12 96 28 206 4668 199.1 27 • node数/1nodeあたりのcore数に関係なく、collection内のshard数が少ない方が検 索性能が良い • 更新性能については判別不可 2013/03/27 CyberAgent, Inc. 29
  • 31. 導入事例(Simplog検索) • その他 • テスト結果(まとめ) • 1nodeあたりのcore数は少ないほど検索/更新性能が良い • 1collectionあたりのshard数は少ないほど検索性能が良い • 1node内のcore数が同じ場合、nodeが多いほど検索性能が良い • 更新性能はnode数が少ない方が良い • node数と1nodeあたりのcore数 • nodeを増やすより1nodeあたりのcore数を減らす方が検索/更新性能が良くなる場合もあ る 2013/03/27 CyberAgent, Inc. 30
  • 32. まとめ • SolrCloudの利点 • Solrの設定ファイルをコレクション内で一元管理できる • 検索/更新クライアントは各コレクション内のnodeを意識しなくてよい • コレクション内のnode(レプリカ)を追加しても検索/更新クライアントの変更は不要 • SolrCloud利用時の注意点 • shardの分割機能はまだないのでコレクション作成時のデータサイズの見積もり に注意 • shardを増やす場合は合わせてnode数も検討 • コレクション情報が壊れると検索/更新できなくなる • 更新処理の必須条件 • 全shardのleader nodeのステータスがactiveであること • 検索処理の必須条件 • 各shardに最低1つのnode(core)が割り当てられていること • shardが1つでも欠落するとそのコレクションに対しては検索不可 • shardsパラメータで検索対象shardを明示的に指定した場合は可能 • パフォーマンスは素のSolrの方が良い 2013/03/27 CyberAgent, Inc. 31