我使用一个简单的PHP库通过HTTP将文档添加到SOLR索引中。
目前涉及3台服务器:
在每秒80个文档(总共100万个文档)的情况下,我注意到PHP和solr机器上的网络接口有异常高的中断率(2000/秒;而且,图形几乎相同--当PHP机器上的中断率达到峰值时,Solr机器上的中断率也会达到峰值),但数据库机器上的中断率要低得多(300/秒)。我想这很简单,因为我打开并重用了到数据库服务器的单个连接,但由于Solr客户端库的编写方式,每个Solr请求当前都通过cURL打开一个新的HTTP连接。
所以,我的问题是:
发布于 2009-06-11 17:40:38
PHP文档(curl_setopt)说:
CURLOPT_FORBID_REUSE
-TRUE
强制连接在完成处理后显式关闭,并且不会被池化以供重用。
所以:
安装,它是15秒或100个请求,以先出现的为准)-但当发生这种情况时,cURL将只打开另一个连接。
发布于 2012-04-10 21:32:58
Curl默认发送keep-alive报头,但是:
context
curl_init()
创建上下文,而不使用任何var将上下文保留在一个范围内(而不是本地var)
CURLOPT_URL
选项将url传递给var请求使用var关闭与var的连接非常基本的例子:
function get($url) {
global $context;
curl_setopt($context, CURLOPT_URL, $url);
return curl_exec($context);
}
$context = curl_init();
//multiple calls to get() here
curl_close($context);
发布于 2009-11-17 09:25:45
您要访问的服务器上的
curl_setopt($curlHandle,CURLOPT_HTTPHEADER,curl_setopt( 'Connection: Keep-Alive','Keep-Alive: 300‘));
https://stackoverflow.com/questions/972925
复制相似问题