Apache与Tomcat有三种连接方式:
1. JK(Apache中需要加载的模块包括:mod_jk.so)
通过AJP协议连接
2. http_Proxy(Apache中需要加载的模块包括:mod_proxy.so,mod_proxy_http.so)
通过HTTP协议连接
3. ajp_proxy(Apache中需要加载的模块包括:mod_proxy.so,mod_proxy_ajp.so)
通过AJP协议连接
------------------------------------------华丽的分割线----------------------------------------
Tomcat优化小记:
1. Tomcat默认是使用128M内存,可以手动在catalina.sh文件中增加内存
设置的参数有:
JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'
最大内存最好是真实机器的内存的80%
2. 关闭Tomcat的lookupdns功能,设置enableLookups=“false”,避免因为Tomcat查询dns而占用网络带宽。
3. 通过修改
maxThreads #Tomcat 使用线程来处理接收的每个请求。这个值表示Tomcat 可创建的最大的线程数。
acceptCount #指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
connnectionTimeout #网络连接超时,单位:毫秒。设置为0 表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
minSpareThreads #Tomcat 初始化时线程池中最小允许空闲的线程数。
maxSpareThreads #Tomcat线程池最大允许空闲的线程数,如果空余线程数超过最大值那么Tomcat 就会关闭不再需要的线程。
线程池一般有三个重要参数:
a. 最大线程数。在程序运行的任何时候,线程数总数都不会超过这个数。如果请求数量超过最大数时,则会等待其他线程结束后再处理。
b. 最大共享线程数,即最大空闲线程数。如果当前的空闲线程数超过该值,则多余的线程会被杀掉。
c. 最小共享线程数,即最小空闲线程数。如果当前的空闲数小于该值,则一次性创建这个数量的空闲线程,所以它本身也是一个创建线程的步长。
4. 加速JSP 编译速度
当第一次访问一个JSP 文件时,它会被转换为Java serverlet 源码,接着被编译成Java字节码。你可以控制使用哪个编译器,默认情况下,Tomcat 使用使用命令行javac 进行使用的编译器。也可以使用更快的编译器,但是这里我们将介绍如何优化它们。