论坛首页 综合技术论坛

[提升30%]solr的http和embedded压力测试对比

浏览 5647 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-09-08  

如果solr客户端和服务端在同一个服务器上,客户端可使用embedded的方式(使用luence直接访问索引)替代http的访问。测试次数较少,性能提升30%左右,仅供参考。


压力测试对比:

线程数

500

循环次数

20

总次数

10000

 

每秒请求数

平均响应时间(毫秒)

http

92.8

4984

embedded

126.6

3599

提升

36.4%

27.7%

 

线程数

700

循环次数

15

总次数

10500

 

每秒请求数

平均响应时间(毫秒)

http

89.4

6421

embedded

112.5

5824

提升

25.8%

9.2%

 

线程数

800

循环次数

20

总次数

16000

 

每秒请求数

平均响应时间(毫秒)

http

98.3

7456

embedded

126.1

5831

提升

28.2%

21.7%

   发表时间:2011-09-13  
楼主看来对solr很感兴趣,同道中人,可以常交流。
关于http和embedded的性能问题我想补充一点
楼主可以再做一下merge的性能对比,看看会有什么问题
有什么好方法去解决。。
0 请登录后投票
   发表时间:2011-09-13  
flyingpig4 写道
楼主看来对solr很感兴趣,同道中人,可以常交流。
关于http和embedded的性能问题我想补充一点
楼主可以再做一下merge的性能对比,看看会有什么问题
有什么好方法去解决。。


merge是指对索引的合并吗?我没有做过这方面的内容,现在项目的索引个数还比较少,几百个而已。
我查了下wiki,索引合并使用类似的命令:
http://localhost:8983/solr/admin/cores?action=mergeindexes&core=core0&indexDir=/opt/solr/core1/data/index&indexDir=/opt/solr/core2/data/index
这条命令是走http访问的,embedded接口没找到类似的方法。
0 请登录后投票
   发表时间:2011-09-15  
是的,merge的时候,最终是从一个shard片当中发出http请求,走的是http的solrserver
所以这个时候你用embedded的solrserver,在分组的情况下,其实效率依然是不高的
0 请登录后投票
   发表时间:2011-09-15  
我还不太明白你说的场景,能麻烦画一个架构图吗?有几台服务器,几台solr服务器,它们之间交换是怎么样的。
0 请登录后投票
   发表时间:2011-09-16  
楼主,你的那测试记录数据量是多少的呢?
0 请登录后投票
   发表时间:2011-09-16  
nebuace 写道
楼主,你的那测试记录数据量是多少的呢?

很少,最大的2194。查询比较复杂。
0 请登录后投票
   发表时间:2012-02-02  
使用embedded,楼主有没有对几台服务器上的索引做合并查询呢? 那样的效率和solr 的distributed searching 有多少区别?
0 请登录后投票
   发表时间:2012-02-06  
embedded作索引合并时,同样是走的http去调用其它组的索引数据,所以性能提升只在embedded这一台机器上,去取其它索引数据时,性能并不会提升。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics