谈谈tomcat配置的理解


一、内存配置
-Xms -Xmx  -XX:PermSize -XX:MaxPermSize

-Xms初始堆大小
-Xmx最大堆大小,一般情况下这两个值设为相同大小。因为如果不相同且内存不够用时会发生内存抖动现象,非常影响程序运行。

-XX:PermSize:表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)
-XX:MaxPermSize:表示对非堆区分配的内存的最大上限。

java -Xmx2047M -version 可以用来测试当前jdk虚拟内存配置是否合适


二、server.xml配置连接
               connectionTimeout="20000"
               maxThreads="600" minSpareThreads="100" maxSpareThreads="500" acceptCount="700" URIEncoding="UTF-8"/>
               
               
protocol: 默认为HTTP/1.1,也就是阻塞式,在改用org.apache.coyote.http11.Http11NioProtocol后,采用非阻塞方式处理请求,从而可以加大一定的并发量

connectionTimeout:连接超时

maxThreads:tomcat起动的最大线程数,即同时处理的任务个数,默认值为200

minSpareThreads:Tomcat启动初始化的线程数,默认值25 

maxSpareThreads:表示如果最多可以空75个线程

acceptCount:当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100

这两个值如何起作用,请看下面三种情况

情况1:接受一个请求,此时tomcat起动的线程数没有到达maxThreads,tomcat会起动一个线程来处理此请求。

情况2:接受一个请求,此时tomcat起动的线程数已经到达maxThreads,tomcat会把此请求放入等待队列,等待空闲线程。

情况3:接受一个请求,此时tomcat起动的线程数已经到达maxThreads,等待队列中的请求个数也达到了acceptCount,此时tomcat会直接拒绝此次请求,返回connection refused


三、配置项目路径


 

你可能感兴趣的:(服务器)