![]() |
有情有义的牛排 · Labview下的文本处理(范例一)_lab ...· 1 年前 · |
![]() |
爱旅游的斑马 · 人民日报海外版-人民网· 1 年前 · |
![]() |
长情的大脸猫 · 美空军首次使用“军团”吊舱引导AIM-120 ...· 1 年前 · |
![]() |
直爽的伏特加 · 公众号远方青木和猫哥的视界之间的撕逼反映了什 ...· 1 年前 · |
我使用一个简单的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‘));
![]() |
爱旅游的斑马 · 人民日报海外版-人民网 1 年前 |