除了加内存之外的方法:
1,tomcat本身有线程池,每一个请求都开一个线程来处理请求。适当调节tomcat线程池可以提高tomcat服务器性能。提高并发能力
2,javaweb应用的性能瓶颈在于以下几个方面:(1)网络IO (2) 硬件IO (包含磁盘IO) (3) 内存资源 (4)CPU 性能 (5)数据读写能力
3,tomcat默认采用BIO,也就是同步阻塞型的IO,效率很低。
如下:
1)bio
默认的模式,性能非常低下,没有经过任何优化处理和支持.
2)nio
利用java的异步io护理技术,no blocking IO技术.
想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为
<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol" connectionTimeout="20000" URIEncoding="UTF-8" useBodyEncodingForURI="true" enableLookups="false" redirectPort="8443" />
启动后,就可以生效。 可以看到如下:
Sep 24, 2015 3:36:25 PM org.apache.coyote.AbstractProtocol init
信息: Initializing ProtocolHandler ["http-nio-8060"]
Sep 24, 2015 3:36:40 PM org.apache.coyote.AbstractProtocol start
信息: Starting ProtocolHandler ["http-nio-8060"]
启用NIO 这个时候要配置:
连接器使用的线程池的名子:executor="tomcatThreadPool"
连接器端口 :port="8080"
连接器使用的传输方式 :protocol="org.apache.coyote.http11.Http11NioProtocol"
传输时是否支持压缩 :compression="on"
压缩的大小 :compressionMinSize="2048"
3)apr
安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.
必须要安装apr和native,直接启动就支持apr。下面的修改纯属多余,仅供大家扩充知识,但仍然需要安装apr和native
如nio修改模式,修改protocol为org.apache.coyote.http11.Http11AprProtocol