设为首页 收藏本站
查看: 1477|回复: 0

[经验分享] 测试tomcat同solr的连接

[复制链接]

尚未签到

发表于 2015-11-12 01:13:13 | 显示全部楼层 |阅读模式
  上一篇文章讲到solr连接问题分析:
  solr1.4 中SearchHandler使用的httpclient在高并发可能出现的问题


  


  现在做一次测试:
  


  tomcat  Connector的配置如下:暂时为BIO方式
  

<Connector port=&quot;8080&quot; protocol=&quot;HTTP/1.1&quot; maxThreads=&quot;20&quot; socket.soTimeout=&quot;2000&quot;
connectionTimeout=&quot;2000&quot; redirectPort=&quot;8443&quot;  keepAliveTimeout=&quot;2000&quot; enableLookups=&quot;false&quot; acceptCount=&quot;0&quot; URIEncoding=&quot;UTF-8&quot;/>


  
  在tomcat上布置两个solr服务,主要测试solr 上一篇文章提到的SearchHandler里分布搜索的httpclient线程池配置问题。
  


  

<requestHandler name=&quot;me&quot; class=&quot;solr.SearchHandlerExt&quot;>
<!-- default values for query parameters -->
<lst name=&quot;defaults&quot;>
<str name=&quot;echoParams&quot;>explicit</str>
<str name=&quot;shards&quot;>localhost:8080/solr,localhost:8080/solr2</str>
<str name=&quot;shards.qt&quot;>single</str>
<str name=&quot;timeAllow&quot;></str>
</lst>
<!--  分配给某个主机的连接池数量 -->
<int name=&quot;maxConnectionsPerHost&quot;>2</int>
<!--    总共的连接数量-->
<int name=&quot;maxTotalConnections&quot;>10</int>
</requestHandler>



  
  编写了个shell脚本文件  curl_link 运行测试。。接收每一个参数作为循环次数:
  


  

index=1
echo $1
while [ $index -le $1 ]
do
dest=&quot;http://localhost:8080/solr/select/?q=1*&start=100&rows=100&quot;
echo $dest
curl $dest &
index=$(($index +1))
echo index
done


  
  监控tomcat打出的日志 :tail -f logs/catalina.out|grep -o QTime=.*
  


  a) 运行   sh curl_link 1
  QTime=1001    (某子机搜索时间)

QTime=1003   (某子机搜索时)

QTime=2017    (总共时间)


  


  正常情况。。总时间 粗略大于两子机时间之和一眯点
  a) 运行   sh curl_link 2


  QTime=1002

QTime=1002

QTime=2018
  

QTime=1002

QTime=1001

QTime=3026


  已经有点不正常。。由于httpclient最多只能在同一时间请求同一目标host,后面有阻塞等待了会,直到有请求完成并releaseConnection,有等待多一秒的时间
  


  c)运行   sh curl_link 3
  


  QTime=1003

QTime=1002
  QTime=3159
  

QTime=1001
  QTime=1008
  QTime=4171
  


  QTime=1002
  QTime=1002
  QTime=4178


  


  c)运行   sh curl_link 10


  


  QTime=1001

QTime=1001

QTime=2038
  

QTime=1002

QTime=1009

QTime=3069




  QTime=1003

QTime=1001
  QTime=5071
  

QTime=1002

QTime=1002
  QTime=6095
  

QTime=1002

QTime=1002

QTime=7099
  

QTime=1001  

QTime=1003

QTime=7110
  

QTime=1001

QTime=1002
  QTime=9130
  

QTime=1002

QTime=1003

QTime=10139
  

QTime=1002

QTime=1001

QTime=11156
  

QTime=1002

QTime=1002  

QTime=11155


  


  


  c)运行   sh curl_link 20    ----tomcat上设置了最多20条线程


  服务直接挂了。。每一条请求又必须再分发请求。这个时候都阻塞死了。。
  


  


  a) 运行   sh curl_link 2


  


  QTime=1054

QTime=1068

QTime=1144

QTime=1147

QTime=2517

QTime=2509


  


  


  


  c)运行   sh curl_link 4







QTime=1002

QTime=1001

QTime=1013
  

QTime=1002

QTime=2026

QTime=2038




  QTime=1002

QTime=1001

QTime=1002

QTime=3047
  QTime=1001

QTime=3059


  


  


  









c)运行   sh curl_link 10



QTime=1001

QTime=1016

QTime=1017

QTime=1013

QTime=2069

QTime=2072

QTime=1002

QTime=1002

QTime=1001

QTime=1002

QTime=3115

QTime=3126

QTime=1001

QTime=1001

QTime=4136

QTime=1003

QTime=1004

QTime=4131

QTime=1001

QTime=1002

QTime=5138

QTime=1006

QTime=1004

QTime=5119

QTime=1001

QTime=1002

QTime=6093

QTime=1000

QTime=1002

QTime=6106


  


  


  从上面的数据可以看出只要将  

maxConnectionsPerHost
  参数修改大一些,在并发大一些的时候表现更佳。
  


  同样一旦tomcat上的连接数给用完时,服务就会挂掉了。。不管solr里面设置的连接池是多少。。。
  
  


  




  


  


  


  


  



版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-138056-1-1.html 上篇帖子: SolrCloud 分布式集群安装部署(solr4.8.1 + zookeeper +tomcat) 下篇帖子: solr4+tomcat部署安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表