ElasticSearch(ES) performance Test

  • 来源:http://wikicentral.cisco.com/display/PROJECT/ElasticSearch%28ES%29+Performance+Test

    http://www.tnove.com/?p=38

  • environment|

 

                ElasticSearch(ES) servers:  X.X.X.71, X.X.X.72, X.X.X.73.     72 and 73 with Mem:16G CPU:16 core 2.4GHz; 71 with Mem:8G CPU:4 core 2.27GHz       

 

                OS: Linux  x86_64 GNU/Linux

 

                tools: jmeter2.6 , youykit11.0.5

  • config & start service

 

         

 

              1. follow the offical installation guide of ES:ES Installation guide

 

                go to $ES_HOME and  start the ES with command( default config) :

./bin/elasticsearch 

 

  • preper jmeter script & index data

 

            1.  the index request for preper index-data to ES cluster look  like :

 

PUT http://X.X.X.71:9200/test/person/

PUT data:


[no cookies]

Request Headers:
Content-Length: 281
Connection: keep-alive

         the  format of  put data  (document for indexing) look like:

{oid:"456",ts:"1342463467567",name:"aluha",age:"10",company:"Cisco Systems, Inc.",branch:"Cloud Application Services",mail:"[email protected]",interest:"Have intensive interest in Internet-surfing,singing, writing and reading.",address:"address,The Golden Gate Bridge,Wall Street."}

        each doc for indexing  have a size about 300 bytes

 

    the detail of this script can find here:

 

         2. after got 15G index data with more than 20 million docs, we are ready to test the performance ofES, just keep the  same order of magnitude of index-data  as SolrCloud
 

  •  Test & Result

 

{note}

all test with NRT availible


{note}

    one or more clients to request to X.X.X.71-73 randomly. we have tow test cases

 

    (1)5 shards ,each with 2 replicas    (2) 1 shard, each with 2 replicas

 

  case (1)  :5 shards

 

       1. index performance test (with search): 

 

     index  result: index jmeter script elasticsearch_index_cluster.jmx

request thread nums avg response time throughput
50 19 2533
150 105 1446
300 200 1479

 at the same time the search result: search jmeter script  elasticsearch_search_cluster.jmx

request thread nums avg response time throughput
50 662 74
150 1200 117
300 1869 154


 

       case(2) :1 shard

 

    1. index performance test (with search): 

 

     index  result: index jmeter script elasticsearch_index_cluster.jmx

request thread nums avg response time throughput
50 23 2314
150 158 2541
300 101 2946

 at the same time the search result: search jmeter script  elasticsearch_search_cluster.jmx

request thread nums avg response time throughput
50 15 3206
150 145 3230
300 93 3167

       

  •  Summary

 

      the performance of indexing  between case 1 and case 2 is almost the same, but the performance of  searching while indexing is very bad when the shard is too many. with single searching  or indexing ,theES is very powerful. ES is also very good for small seach application. But for large scale data indexing and searching, too many shards will lead some problems.  It would be too hard for a new developer work withES due to its inactivity community and poor document compare withSolr. But ES has a lot of good feature we should bring into our system. Our team will step forword with this test. We will hava a  deeper research onES.

你可能感兴趣的:(搜索引擎,performance,search,thread,each,application,branch)