Tomcat的默认配置是提高性能所必需的,性能不是最优的,我们可以通过优化tomcat来提高网站的并发度。提高Tomcat的性能可以分为两个方向。服务器资源服务器所能提供的CPU、内存、硬盘的性能对处理能力有着决定性的影响,所以服务器的性能要优秀,Tomcat也不算太差。当然,提升服务器的硬件配置需要大量人民币的支持。因此,除非绝对必要,否则不会使用此方法。一般企业会采用以下方法通过优化配置来提升Tomcat的性能。优化配置在优化配置之前,我们需要先配置一个tomcat管理员账号,用于登录查看Tomcat控制台改进的各项参数。在conf/tomcat-users.xml下添加用户:启动tomcat,登录查看信息:http://127.0.0.1:8080/tomcat的3种运行模式tomcat有三种运行模式:bio:默认模式,性能很低,没有任何优化和支持。nio:nio(newI/O),是JavaSE1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Javanio是一种基于缓冲区的JavaAPI,提供非阻塞I/O操作,因此nio也被视为非阻塞I/O的缩写。它具有比传统I/O操作(bio)更好的并发运行性能。apr:最难安装,但是从操作系统层面解决了异步IO问题,大大提高了性能。启动NIO模式修改server.xml中的Connector节点,修改协议为org.apache.coyote.http11.Http11NioProtocol执行服务器优化(线程池)在tomcat中,每个用户请求都是一个线程,所以线程池可以用于提高性能。打开并使用配置:在ConnectorViewTomcatconsoleExecutor中指定使用共享线程池重要参数说明:name:共享线程池的名称。这是连接器为了共享线程池而引用的名称。名称必须是唯一的。默认值:无;namePrefix:在JVM上,每个运行的线程都可以有一个名称字符串。该属性为线程池中每个线程的名称字符串设置一个前缀,Tomcat会将线程号追加到该前缀后。默认值:tomcat-exec-;maxThreads:线程池可以容纳的最大线程数。默认值:200;maxIdleTime:在Tomcat关闭空??闲线程之前允许空闲线程持续的时间(以毫秒为单位)。只有当当前活跃线程数大于minSpareThread的值时,空闲线程才会被关闭。默认值:60000(一分钟)。minSpareThreads:Tomcat应该始终打开的最小非活动线程数。默认值:25。threadPriority:线程的级别。默认为Thread.NORM_PRIORITYConnector重要参数说明:executor:表示使用该参数值对应的线程池;minProcessors:服务器启动时创建的处理请求的线程数;maxProcessors:可以创建的最大线程数来处理请求;acceptCount:指定当处理请求的所有可用线程都被使用时,可以放入处理队列的请求数。超过此数量的请求将不予处理。参数最佳实践禁用AJP连接器AJP(ApacheJServer协议)AJPv13协议是面向数据包的。WEB服务器与Servlet容器通过TCP连接进行交互;为了节省创建SOCKET的昂贵成本,WEB服务器将尝试与servlet容器保持永久的TCP连接,并在多个请求和响应周期中重用该连接。我们一般使用Nginx+tomcat架构,所以不需要AJP协议,所以AJPconnector是禁用的。管理界面看不到ajp:完成以上步骤优化Tomcat的配置后,你的Tomcat服务器的并发度肯定会有很大的提升。这只是一个简单的配置,后面会有专门针对JVM的介绍。JVM参数也是影响Tomcat性能的重要因素。