SolrCloud Performance 测试(query-fetch)
2013-07-05 17:37
519 查看
由wiki粘过来,稍微改了下格式。还是有点乱,将就看看,主要看数据
Base on the the SolrCloud Performance Test. and ElasticSearch
Performance Test, we see that the search performance of solrcloud is not as good as we expected compareing with ES. so we did more job. we scan the solrcloud source code and configuration
guide and hope finding what weaken its performance. our further progress is recorded below:
Only one server compose this test cluster. This only server with follow hardware: 8 core CPU with 2.66GHz, Mem: 16 G. OS:x86_64 GNU/Linux .
one instance of solrcloud with 1 shard .
start this cluster with the same index data and config as SolrCloud
Performance Test. we show the standalone search result below as the baseline:
jmeter search request look like:http://X.X.X.72/solr/collection1/select?q=name:????&fl=name,id
???? is a random string, example: "abde". Any search reques almost have more than 1 doc result(hited document).
3. change the queryResultCache size and documentCache size to 102400 respectively at the same time
4. change the queryResultCache size and documentCache size to 51200 respectively at the same time
5. set the queryResultCache size as 512(default value) and documentCache
size as 51200
at this case the YGC: once per second, FGC:150ms per time.
1. the search request name set as a fixed name "abcd", the request have 9 returned Docs
request: http://X.X.X.72/solr/collection1/select?q=name:abcd&fl=name,id
search result:
2. the search request name set as a fixed name "abcde", the request have 0 returned Docs
request: http://X.X.X.72/solr/collection1/select?q=name:abcde&fl=name,id
search result:
Base on above result, we decide to construct some special search request to ensure the return docs num is different.
we just want to know whether the return doc num effect the performance of search
request: /solr/collection1/select?q=name:bgbf&fl=ts,id
hit & return documents num: 1
request: /solr/collection1/select?q=name:nlww&fl=ts,id
hit & return documents num: 4
request: /solr/collection1/select?q=name:zoje&fl=ts,id
hit & return documents num: 7
request: /solr/collection1/select?q=name:ahnd&fl=ts,id
hit & return documents num: 10
request: /solr/collection1/select?q=name:waiq&fl=ts,id
hit documents num: 13
return documents num: 10
request: /solr/collection1/select?q=name:rwur&fl=ts,id
hit documents num: 16
return documents num: 10
request: /solr/collection1/select?q=name:ysxp&fl=ts,id
hit documents num: 19
return documents num: 10
We draw a simple conclusion that the return docs num effect the throughput strongly from above tests. we still don't konw how this happened. We will dig more info to find what happened inside the solrcloud.
Base on the the SolrCloud Performance Test. and ElasticSearch
Performance Test, we see that the search performance of solrcloud is not as good as we expected compareing with ES. so we did more job. we scan the solrcloud source code and configuration
guide and hope finding what weaken its performance. our further progress is recorded below:
EVN
Only one server compose this test cluster. This only server with follow hardware: 8 core CPU with 2.66GHz, Mem: 16 G. OS:x86_64 GNU/Linux .one instance of solrcloud with 1 shard .
start this cluster with the same index data and config as SolrCloud
Performance Test. we show the standalone search result below as the baseline:
jmeter search request look like:http://X.X.X.72/solr/collection1/select?q=name:????&fl=name,id
???? is a random string, example: "abde". Any search reques almost have more than 1 doc result(hited document).
search result:
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 46 | 1020 |
change the configuration file: solrconfig.xml
1. add queryResultCache size to 102400 :
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 49 | 1092 |
2. add documentCache size to 102400 :
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 46 | 1067 |
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 47 | 1048 |
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 47 | 1056 |
size as 51200
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 47 | 1052 |
change the search request
1. the search request name set as a fixed name "abcd", the request have 9 returned Docsrequest: http://X.X.X.72/solr/collection1/select?q=name:abcd&fl=name,id
search result:
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT | |
---|---|---|---|
50 | 43 | 1120 |
request: http://X.X.X.72/solr/collection1/select?q=name:abcde&fl=name,id
search result:
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 8 | 4080 |
special search request case construct
Base on above result, we decide to construct some special search request to ensure the return docs num is different.we just want to know whether the return doc num effect the performance of search
notice: the hit documents num is unlimited. But the default max retrun documents num is 10. That means there will be no more than 10 documents return to requester even though the hit documents num is bigger than 10 |
hit & return documents num: 1
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 13 | 3309 |
hit & return documents num: 4
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 24 | 2027 |
hit & return documents num: 7
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 36 | 1348 |
hit & return documents num: 10
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 48 | 1024 |
hit documents num: 13
return documents num: 10
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 48 | 1025 |
hit documents num: 16
return documents num: 10
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 48 | 1028 |
hit documents num: 19
return documents num: 10
REQUEST THREAD NUMS | AVG RESPONSE TIME | THROUGHPUT |
---|---|---|
50 | 48 | 1025 |
summary
We draw a simple conclusion that the return docs num effect the throughput strongly from above tests. we still don't konw how this happened. We will dig more info to find what happened inside the solrcloud.
相关文章推荐
- Solr4.0(SolrCloud) & ElasticSearch(ES) 比较(三):查询方式(query_then_fetch)
- 精确获取时间(QueryPerformanceCounter)测试程序效率
- 本地连接到solrcloud集群环境进行源码测试
- 利用QueryPerformanceCounter可以测试CPU性能
- SolrCloud6.1.0之SQL查询测试
- SolrCloud6.1.0之SQL查询测试
- 集群部署及测试SolrCloud-5
- SolrCloud performance test
- SolrCloud-5.2.1 集群部署及测试
- SolrCloud6.1.0之SQL查询测试
- lucene、solr中的日期衰减方法-------function query --尚未测试在solr4.8
- Solr之SolrCloud集群测试
- lucene、solr中的日期衰减方法-------function query --尚未测试在solr4.8
- SolrCloud6.1.0之SQL查询测试
- SolrCloud-5.2.1 集群部署及测试
- solr 测试
- cloudera search1.0.0环境搭建(1):搭建solrcloud
- 性能测试工具三(ArcGIS Performance calibration tool)
- SolrCloud 4.3.1+Tomcat 7安装配置实践
- solrcloud安装手册