几招让你的Tomcat在生产环境上表现更好
使用thread pool 和 nio来提高性能
在tomcat/conf的server.xml中找到
1 | <Connector executor="tomcatThreadPool" |
要使用nio的话,修改默认的protocol="HTTP/1.1"
为 protocol="org.apache.coyote.http11.Http11NioProtocol"
要使用thread pool的话,添加executor="tomcatThreadPool"
将tomcat置于非开发模式来提高性能
在tomcat/conf的web.xml中找到
1 | <init-param> |
中文乱码解决(假设使用UTF8编码)
在tomcat/conf的server.xml中找到
对于POST方式的参数编码,需要在JSP中加入<% request.setCharacterEncoding("UTF-8"); %>
同时在JSP头部加上<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
http 1.1 keep-alive长连接
可以设置tomcat connect中的maxKeepAlive,如果设为1,意味着disable此功能,如果是-1,意味着没有数量限制,默认是100条。
目前浏览器都默认支持此功能,即保留数个持久连接(persist connection),当请求完成后,并不立即释放socket,而是保留一段时间,用于下一次请求。服务器也要以此方式工作。直到某一方显式关闭连接或者timeout。当转向访问其他网站时,而持久连接已经耗尽了,就释放之前某一条持久连接。