昨天用ab測tomcat併發不超過64的問題張波和我分別找出了答案
張波:用nio協議,即在server.xml的connection上加protocol="org.apache.coyote.http11.Http11NioProtocol"
併發能到ab -n2000 -c1000,failed 100,但是catalina.log裏有一段錯誤:
2012-2-21 16:46:53 org.apache.tomcat.util.net.NioEndpoint setSocketOptions
嚴重:
java.lang.NullPointerException
at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:1011)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1204)
at java.lang.Thread.run(Thread.java:662)
有待解決。
我:用APR,即安裝tcnative-1.dll和openssl.exe到%catalina_home%\apr\,並-Djava.library.path=D:\dev_env\apache-tomcat-6.0.18\apr
併發能到ab -n2000 -c1000,failed 100。
後來兩者都用上,性能更好。