Tomcat7 优化 :
1.conf/ server.xml :
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="1000" minSpareThreads="50"/>
<Connector executor="tomcatThreadPool"
port="8888" protocol="HTTP/1.1"
connectionTimeout="20000" enableLookups="false"
redirectPort="8443" URIEncoding="UTF-8" acceptCount="1000"
compression="on" compressionMinSize="50" noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"/>
compression="on" compressionMinSize="50" noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain
-- 启用 tomcat GZIP 压缩.
- compression="on" 打开压缩功能
- compressionMinSize="50" 启用压缩的输出内容大小,默认为2KB
- noCompressionUserAgents="gozilla, traviata" 对于以下的浏览器,不启用压缩
- compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 哪些资源类型需要压缩
测试方法
通过浏览器直接请求
通过程序模拟请求
- @Test
- public void testGzip() {
- HttpClient httpClient = new HttpClient();
- GetMethod getMethod = new GetMethod("http://localhost/admin.jsp");
- try {
- getMethod.addRequestHeader("accept-encoding", "gzip,deflate");
- getMethod.addRequestHeader("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Alexa Toolbar; Maxthon 2.0)");
- int result = httpClient.executeMethod(getMethod);
- if (result == 200) {
- System.out.println(getMethod.getResponseContentLength());
- String html = getMethod.getResponseBodyAsString();
- System.out.println(html);
- System.out.println(html.getBytes().length);
- }
- } catch (HttpException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- getMethod.releaseConnection();
- }
- }
执行这个junit程序,看看它所输出的是什么内容,如果输出的是一些乱码,并且打印内容的长度远小于实际的长度,就说明我们的配置生效了,通过一些其它验证工具,会发现网站浏览速度会明显提升。
代码如下:
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 5000
</IfModule>
重启apache,测试,负载够用了:)
Listen 80
KeepAliveTimeout 15
MaxKeepAliveRequests 1000
最能反应Apache服务器性能的Requests per second,即每秒完成的请求次数从201.32提升到341.70,提升幅度为70%。虽然在现实环境中,不可能有这么多的同一连接发出的请求,但启用KeepAlive确实在一定程度上可以提高Apache服务器的吞吐量和反应速度。
4. 打开UseCanonicalName模块 UseCanonicalName on
根据实际经验,通过Apache和Tomcat集群的方式提高系统性能的效果十分明显,这种方式可以最大化的利用硬件资源,通过多个Tomcat的处理来分担单Tomcat时的压力。
三:Apache 的 MPM(Multi -Processing Modules,多道处理模块):
1.Apache 的 MPM(Multi -Processing Modules,多道处理模块),经过适当的配置,可以提高服务器的负载能力 。
Linux和Windows版本的Apache ,MPM不尽相同,感觉Linux更强大些,可以同时开好几个进程进行Apache的响应。
我机子上的是Wamp环境,在httpd.conf中有这样一段:
# Server-pool management (MPM specific) # Include conf/extra/httpd-mpm.conf
注释掉,在httpd-mpm.conf中,会出现好几种类型的配置,要根据自己的具体环境配置相应的文件 。
看到里面有mpm_winnt.c ,我们就在httpd-mpm.conf的<IfModule mpm_winnt_module>进行配置
<IfModule mpm_winnt_module> ThreadsPerChild 150 MaxRequestsPerChild 0 </IfModule>
其中,ThreadsPerChild 是指一个进程最多拥有的线程数(Windows版本,貌似不可以开启多个进程),一般100-500就可以,
根据服务器的具体性能来决定。MaxRequestsPerChild,是指一个线程最多可以接受的连接数,默认是0,就是不限制的意思,
但是网上有文章说,0 会导致内存泄露。所以,可以根据实际情况,配置一个比较大的值。我估计Apache会在几个线程之间进
行轮询,找到负载最轻的一个线程来接受新的连接。
另附: Apache 官方MPM说明http://httpd.apache.org/docs/2.2/zh-cn/mpm.html 。
相关推荐
apache2.2+tomcat6集群已经配置好,tomcat优化过,在实际项目发布中直接将项目复制到集群中的所有tomcat的webapps中即可, 此配置中包含是3个tomcat集群, 安装步骤大概如下: 1:安装httpd-2.2.17-win32-x86-no_ssl...
1 文档目的 4 2 读者对象 4 3 网络拓扑图 4 4 具体步骤 4 4.1 需要事先下载的文件 4 4.2 安装 4 4.2.1 安装jdk、Tomcat 4 4.2.2 安装Apache 4 4.2.2.1 上传文件 4 4.2.2.2 安装Apache 4 ...4.4.2 优化Tomcat 7
WAMP5-v1.7.4(集成了apache_2.2+php+tomcat)轻松实现实现集群。有什么不对或优化的地方,敬请指教。
的Apache Tomcat 7.x的建立在Tomcat中6.0.x的改进和实现的Servlet 3.0, JSP 2.2,EL 2.2和 WebSocket的1.1规格。除此之外,它还包括以下改进: Web应用程序内存泄漏检测和预防 提高了Manager和Host Manager应用...
WATMServer2.6 纯净版,不含任何软件Jar包(升级时需要留意,做好原环境Jar包及配置文件的备份),主要对配置文件及环境安全方面进行了优化处理,所集成各应用服务 版本分别为:Apache2.2、JDK1.6、Tomcat6.0.20、...
使用记事本等编辑器打开X:安装路径Apache2.2confhttpd.conf文件; 找到 Listen 80,将 80 改为你希望的端口号,保存文件; 运行“启动 EasyJspRun! ”即可。 Q:其他人可以访问我的论坛吗? A:可以,您可以让...
使用记事本等编辑器打开X:安装路径Apache2.2confhttpd.conf文件; 找到 Listen 80,将 80 改为你希望的端口号,保存文件; 运行“启动 EasyJspRun! ”即可。 Q:其他人可以访问我的论坛吗? A:可以,您可以让...
2.2 Nginx的下载 2.3 Nginx的安装 2.4 Nginx的启动、停止、平滑重启 2.5 Nginx的平滑重启 2.6 Nginx的信号控制 2.7 Nginx的平滑升级 第2部分 进 阶 篇 第3章 Nginx的基本配置与优化 3.1 Nginx的完整配置示例 3.2 ...
2.2 Nginx的下载 2.3 Nginx的安装 2.4 Nginx的启动、停止、平滑重启 2.5 Nginx的平滑重启 2.6 Nginx的信号控制 2.7 Nginx的平滑升级 第2部分 进 阶 篇 第3章 Nginx的基本配置与优化 3.1 Nginx的完整配置示例...
Apache2,是互联网最最最流行的WEB服务软件,用以提供基本的WEB服务功能,同时支持SSL,GZIP,LIC(IP同时连接数限制)功能; PHP4,PHP5,是互联网最最最流行的动态网页语言,用以提供PHP语言的网络应用程序开发,...
1.2.5 支持集群功能的web服务器tomcat 21 1.2.6 开源数据库服务器之骄子mysql 23 1.2.7 功能强大的flv流媒体服务器red5 24 1.3 门户网站开发指导思想 26 1.4 ssh 2组合框架—门户网站开发之首选 28 1.4.1 mvc...
2.2 Nginx的下载 2.3 Nginx的安装 2.4 Nginx的启动、 停止、 平滑重启 2.5 Nginx的平滑重启 2.6 Nginx的信号控制 2.7 Nginx的平滑升级 第2部分 进阶篇 第3章 Nginx的基本配置与优化 3.1 Nginx的完整配置示例 3.2 ...
1.4.6 Apache Harmony Google Android Dalvik VM 1.4.7 Microsoft JVM及其他 1.5 展望Java技术的未来 1.5.1 模块化 1.5.2 混合语言 1.5.3 多核并行 1.5.4 进一步丰富语法 1.5.5 64位虚拟机 1.6 实战:自己...
2.2. 复制文件 13 2.3. 注册现有虚拟机 14 2.4. 为克隆的虚拟机添加硬盘 15 3. HPE服务器Centos7.5安装 16 3.1. 服务器(DL388 Gen10)加载镜像文件 16 3.2. 系统安装、配置 18 3.2.1. 选中【install centos7】 18 ...
7. HistoryService: HistoryService用于获取正在运行或已经完成的流程实例的信息,与RuntimeService中获取的流程信息不同,历史信息包含已经持久化存储的永久信息,并已经被针对查询优化。 现在至少要知道有这些对象...
uniqueMembers 该属性用于优化产生的 SQL ,如果你知道这个级别和其父级别交叉后的值或者是维度表中给定的级别所有的值是唯一的,那么就可以设置该值为 true ,否则为 false 。 levelType 该 Level 的类型,默认...