![]() |
很酷的钢笔 · 7.Redis常用命令:ZSet - ...· 1 年前 · |
![]() |
傻傻的南瓜 · 南方科技大学程庆沙教授与香港城市大学陈哲博士 ...· 1 年前 · |
![]() |
飘逸的口罩 · cmake使用conda环境里的包_lshi ...· 1 年前 · |
![]() |
强悍的咖啡豆 · TabTransformer转换器提升多层感 ...· 2 年前 · |
![]() |
年轻有为的熊猫 · iOS-父子控制器_ios ...· 2 年前 · |
我使用一个简单的PHP库通过HTTP将文档添加到SOLR索引中。
目前涉及3台服务器:
在每秒80个文档(总共100万个文档)的情况下,我注意到PHP和solr机器上的网络接口有异常高的中断率(2000/秒;而且,图形几乎相同--当PHP机器上的中断率达到峰值时,Solr机器上的中断率也会达到峰值),但数据库机器上的中断率要低得多(300/秒)。我想这很简单,因为我打开并重用了到数据库服务器的单个连接,但由于Solr客户端库的编写方式,每个Solr请求当前都通过cURL打开一个新的HTTP连接。
所以,我的问题是:
如果您不关心来自请求的响应,那么可以异步执行它们,但这样做可能会使SOLR索引超载。不过我对此表示怀疑,SOLR的速度非常快。
PHP文档( curl_setopt )说:
CURLOPT_FORBID_REUSE
-TRUE
强制连接在完成处理后显式关闭,并且不会被池化以供重用。
所以:
安装,它是15秒或100个请求,以先出现的为准)-但当发生这种情况时,cURL将只打开另一个连接。
您要访问的服务器上的
curl_setopt($curlHandle,CURLOPT_HTTPHEADER,curl_setopt( 'Connection: Keep-Alive','Keep-Alive: 300‘));