我正致力于优化与数据库通信的元数据服务。我发现的一个瓶颈是线程超时等待连接池的连接(超时= 1s)。仔细研究堆栈转储后,似乎有很多线程在org.apache.http.pool.AbstractConnPool里等待锁定。
ApacheHttpClient:4.5.x
ApacheHttpCore:4.4.x
MaxNumberOfConnection:900
连接超时:1s
克服这个瓶颈的任何想法?
答案 0 :(得分:0)
也许你可以考虑另一种方法。 900个http请求对于一个服务提供商来说太重了。 对于着名的servlet容器(tomcat或jetty),它可以同时处理300-500个请求连接。
您可以部署两个或三个服务提供商来组建集群,使用nginx或apache http服务器来分派请求。