一、tomcat的基本原理
Tomcat服务器的启动是基于一个server.xml文件的,Tomcat启动的时候首先会启动一个Server,Server里面就会启动Service,Service里面就会启动多个"Connector(连接器)",每一个连接器都在等待客户机的连接,当有用户使用浏览器去访问服务器上面的web资源时,首先是连接到Connector(连接器),Connector(连接器)是不处理用户的请求的,而是将用户的请求交给一个Engine(引擎)去处理,Engine(引擎)接收到请求后就会解析用户想要访问的Host,然后将请求交给相应的Host,Host收到请求后就会解析出用户想要访问这个Host下面的哪一个Web应用,一个web应用对应一个Context。
二、tomcat调优
1、内存调优,在canalina.sh中写入如下内容
export JAVA_OPTS="-server -Xms4096m -Xmx4096m -XX:+PrintHeapAtGC -Xloggc:/usr/local/tomcat_front/logs/gc.log -XX:+PrintGCTimeStamps -XX:+TraceClassLoading -XX:+TraceClassUnloading -XX:+PrintReferenceGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat_front/logs/front1.bin"
参数解释:
-server:运行jdk的server版本
-Xms:java虚拟机初始化时堆的内存大小,一般配置Xmx配置为相同的值,这样的好处是GC不必再为扩展内存空间而消耗性能
-Xmx:java虚拟机可使用堆的最大内存
-XX:+PrintHeapAtGC
-Xloggc:/usr/local/tomcat_front/logs/gc.log
-XX:+PrintGCTimeStamps