`
yf149
  • 浏览: 27651 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

【转载】Tomcat性能优化

阅读更多

Tomcat性能优化根据不同的环境和条件,须分别对待,如服务器硬件环境,操作系统环境,网络环境,以及用户使用的情况等等,最好结合性能测试工具来做。以下列出几点常用的调优方法:

  1. 调 整Java参数,如果用的是Sun的Hotspot VM,可以Java命令加上参数"-server -Xms -Xmx",-server表示启用Java HotSpot Server VM,-Xms和-Xmx分别表示JVM初始内存大小和可以使用的最大内存,根据具体情况和需要调大这两个参数的值,默认值分别为2m和64m,显然太小 需要调大。在Tomcat/bin下的catalina.bat(for windows)和catalina.sh(for linux and unix)文件的最前面加上JAVA_OPTS=`-server -Xms256m -Xmx512m`。
  2. 禁用DNS查询,设置connector中的enableLookups="false",该参数的具体说明见Tomcat文档。设置如下:
    • <Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />
    • <Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
  3. 调整Tomcat线程参数:
    • maxThreads,Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
    • acceptCount,指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
    • connnectionTimeout,网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。可设置为20000毫秒。
    • minSpareThreads,Tomcat初始化时创建的线程数。
    • maxSpareThreads,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
  4. 这些参数需要根据实际情况调整。

附:几篇Tomcat相关的性能测试报告

相关链接:

原文链接:Tomcat性能优化
分享到:
评论

相关推荐

    TOMCAT源代码,包括转载得别人的分析

    Tomcat使用Executor接口和线程池来管理并发请求,以优化性能和资源利用率。 7. **安全与认证**: Tomcat支持多种安全模型,包括基本认证、 Digest认证、FORM认证等。它还提供了安全管理器和Realm配置,用于控制...

    2020年多家公司整理的350道Java面试题手册.pdf

    1.1、tomcat性能优化整理 1.2、JVM性能优化整理 1.3、Mysq|性能优化整理 二、微服务架构面试专栏 2.1、SpringCloud面试整理 2.2、SpringBoot面试整理 2.3、Dubbo面试整理 三、并发编程高级面试专栏 四、开源框架面试...

    利用apache的proxy-ajp做apache与tomcat的结合(转载) jackey

    总结来说,Apache与Tomcat结合使用`mod_proxy_ajp`能实现动静分离、负载均衡和优化性能,是企业级Web应用部署的常见解决方案。通过配置`httpd.conf`文件,我们可以灵活地调整服务器间的协作方式,以适应不断变化的...

    Tomcat多端口域名访问并配置开启gzip压缩方法

    本文主要讲解了如何在Tomcat中配置多端口域名访问,并且详细介绍了如何开启gzip压缩,以提高Web应用的性能和响应速度。 首先,我们要了解如何在Tomcat中配置不同的端口来访问同一域名。在Web服务器中,端口是用来...

    [转载] Clustering经典范文学习

    这种技术常用于高可用性(High Availability, HA)和负载均衡场景,可以提供故障转移、性能优化以及数据复制等功能。 **Clustering在J2EE中的作用** 在J2EE(Java企业版)中,集群能够帮助处理大量并发请求,通过...

    JDBC连接DB2数据库详解.doc--转载

    JDBC (Java Database Connectivity) 是Java编程语言中用于与各种数据库进行交互的一种标准接口。...通过理解JDBC连接字符串、驱动注册以及性能优化策略,可以有效地在Java应用中集成和管理DB2数据库。

    转载:liferay-4-administration-guide.pdf

    - **即时Portlet渲染**:优化性能,实现Portlet的按需加载,提高门户响应速度。 - **上下文相关帮助**:提供情境化帮助信息,降低用户操作难度。 - **AJAX接口工具**:集成AJAX技术,简化开发流程,增强应用交互性。...

    使用open source产品组装你的web应用架构(转载)

    10. **监控与日志**:Prometheus、Grafana用于性能监控,ELK Stack(Elasticsearch、Logstash、Kibana)处理日志收集、分析和可视化,帮助开发者及时发现问题并优化系统。 11. **安全**:HTTPS证书管理工具如...

    Linux一键安装web环境全攻略

    任何未经过书面许可的复制、转载行为都将受到法律追究。 - **公司简介**: 上海驻云信息科技有限公司是一家专业的公有云架构技术及咨询服务提供商,专注于为企业提供全面的云解决方案和技术支持。公司具备强大的技术...

Global site tag (gtag.js) - Google Analytics