新浪微博开放平台链接耗尽的情况分析
在测试环境发现了一个问题,每次服务器重启后,所有对新浪微博的请求都可以正常的发出,但从第9请求开始,请求耗时将变为40s左右。
问题要从9和40s这两个关键词开始,httpclient的代码如下:
ProtocolSocketFactory protocolSocketFactory = new EasySSLProtocolSocketFactory();Protocol.registerProtocol("https", new Protocol("https", protocolSocketFactory, 443));client.getHttpConnectionManager().getParams().setDefaultMaxConnectionsPerHost(8);client.getHttpConnectionManager().getParams().setMaxTotalConnections(100);client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);client.getHttpConnectionManager().getParams().setSoTimeout(5000);client.getHttpConnectionManager().getParams().setTcpNoDelay(true);client.getHttpConnectionManager().getParams().setLinger(40000);client.getHttpConnectionManager().getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());client.getHttpConnectionManager().getParams().setStaleCheckingEnabled(true);