Tomcat服务器优化

由于Tomcat的运行依赖于JVM,从虚拟机的角度我们把Tomcat的调整分为外部环境调优和自身调优两类来描述。

1、JDK内存优化

根据服务器物理内容情况配置相关参数优化tomcat性能。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。 Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大.

Tomcat默认可以使用的内存为128MB,Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置:

JAVA_OPTS=‘-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】 -XX:PermSize=64M -XX:MaxPermSize=128m‘。需要把几个参数值调大。例如:

JAVA_OPTS=‘-Xms256m -Xmx512m‘ 表示初始化内存为256MB,可以使用的最大内存为512MB。

  推荐将最小堆大小和最大堆大小设置为同一值,因为这样可以避免浪费用于时常调整堆大小所需的VM资源。

虚拟机可通过命令行的方式改变虚拟机使用内存的大小

-server  启用jdk 的 server 版;
-Xms    java虚拟机初始化时的最小内存;
-Xmx    java虚拟机可使用的最大内存;
-XX:PermSize    内存永久保留区域
-XX:MaxPermSize   内存最大永久保留区域
-Xmn    jvm最小内存

32G 内存配置示例:

JAVA_OPTS="$JAVA_OPTS  -Xms10g -Xmx10g -XX:PermSize=1g -XX:MaxPermSize=2g -Xshare:off -Xmn1024m"

2、Tomcat线程优化

在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:

maxThreads: Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值150。

acceptCount: 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。默认值10。

minSpareThreads: Tomcat初始化时创建的线程数。默认值25。

maxSpareThreads: 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值75。

enableLookups: 是否反查域名,默认值为true。为了提高处理能力,应设置为false

connnectionTimeout: 网络连接超时,默认值60000,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

maxKeepAliveRequests: 保持请求数量,默认值100。 bufferSize: 输入流缓冲大小,默认值2048 bytes。

compression: 压缩传输,取值on/off/force,默认值off。 其中和最大连接数相关的参数为maxThreads和acceptCount。如果要加大并发连接数,应同时加大这两个参数。

32G 内存配置示例:

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000" maxThreads="1000" minSpareThreads="60" maxSpareThreads="600"  acceptCount="120"
               redirectPort="8443" URIEncoding="utf-8"/>

使用visualvm性能监控

1、什么是VisualVM

visualvm是jdk自带的一款监控工具。它提供了一个可视界面,用于查看 Java 虚拟机上运行的基于 Java 技术的程序的详细信息。VisualVM 对 Java Development Kit (JDK) 工具所检索的 JVM 软件相关数据进行组织,并通过一种使您可以快速查看有关多个 Java 应用程序的数据的方式提供该信息。您可以查看本地应用程序以及远程主机上运行的应用程序的相关数据

2、如何安装

在jkd bin目录下有一个jvisualvm.exe文件 双击就可以使用

3、如何使用jvisualvm

1、配置JMX管理tomcat:

set JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

2、重启tomcat即可

3、双击jvisualvm.exe 添加服务器IP地址,添加需要监控jmx端口即可

效果如下:

时间: 2024-10-10 02:20:59

Tomcat服务器优化的相关文章

linux tomcat服务器优化配置

在 /usr/local/tomcat/bin/catalina.sh里首行加入, 防止内存不够的问题 JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=1024m" JAVA_HOME=/usr/local/bin/jdk1.6.0_33 JRE_HOME=/usr/local/bin/jdk1.6.0_33/jre

JAVA开发之大型互联网企业高并发架构Tomcat服务器性能优化视频教程

课程目标熟练掌握高并发架构Tomcat服务器性能优化. 适用人群对计算机,java开发人员,Java架构师,运维感兴趣的朋友! 课程简介Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人共同开发而成.Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomc

tomcat 8优化配置

Tomcat 8 下载:wget http://apache.fayea.com/tomcat/tomcat-8/v8.0.32/bin/apache-tomcat-8.0.32.tar.gz 压缩包解压:tar -zxvf apache-tomcat-8.0.32.tar.gz 移到解压出来文件夹到 /usr 下:mv apache-tomcat-8.0.32/ /usr/program/ 为了方便,修改解压目录的名字:mv /usr/program/apache-tomcat-8.0.32/

tomcat并发优化

Tomcat 并发优化 首先先介绍一款知名的网站压力测试工具:webbench. Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况.webbench的标准测试可以向我们展示服务器的两项内容:每分钟相应请求数和每秒钟传输数据量.webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力.还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试,最多可以模拟3万个并发连接去测试网站的负

tomcat 配置文件优化

一.前言 对于tomcat的优化主要包括两个方面,一个是对Tomcat启动参数进行优化配置,另一个是Tomcat容器内的优化配置,下面分别用具体详细的参数配置说明进行分析(更多推荐"tomcat的HTTPS安全通道配置".源码分析等) 二 .Tomcat内存优化 tomcat启动参数设置,主要在其bin目录下catalina文件(window环境对象catalina.bat.linux环境对应catalina.sh)进行设置,在文件头部复制下面参数示例, 1. Window环境 详细的

gzip压缩tomcat服务器响应包,大幅提升web性能

忘记是第几次读<高性能网站建设指南>的"规则4──压缩组件"一章了,之前一直搞得浑浑噩噩,今天才恍然有所觉悟,原来通过减小HTTP响应大小来减少响应时间应用到tomcat服务器上是这么一回事,结果令人欣慰万分,同时令我感到羞愧.gzip压缩率高达70%左右,这对于提升web性能来说简直就是逆天的表现,而今天之前的我,却不曾知晓!想必很多大牛都已经不屑于整理这样的资料,然而对于我来说,"像张白纸,爱情才刚刚开始,我要写的字太多!" 一.效果展示 对于js.

Tomcat服务器与HTTP协议

Tomcat服务器与HTTP协议 一.  Tomcat服务器 1.tomcat服务器 1.web :网页,它代表的是网络上的资源.(java技术开发动态的web资源,即动态web页面,在Java中,动态web资源开发技术统称为Javaweb.) 网络的资源分为两种 1.静态资源------主要用于展示信息     html 2.动态资源------交 互                 jsp asp php 2.javaweb开发中常见的服务器. weblogic  BEA公司------它是

tomcat服务器配置优化

tomcat服务器个配置优化 一.Tomcat内存优化 T omcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 JAVA_OPTS参数. 1.JAVA_OPTS参数说明 -server  启用jdk 的 server 版: -Xms    java虚拟机初始化时的最小内存: -Xmx   java虚拟机可使用的最大内存: -XX:PermSize    内存永久保留区域 -XX:MaxPermSize   内存最大永久保留

Tomcat 7优化前及优化后的性能对比(转载)

一.运行环境 CPU: Intel(R) Pentium(R) [email protected]  : 内存:4G,装的是32位win7,只认出3G,没有花时间去整ramdisk之类的东西: 操作系统:win7 32位: JDK:1.7.0_55 Tomcat:7.0.53 大家不要笑,公司电脑,就给配这样的,慢的要死,悲剧! 下面所有测试都是基于1000个请求做的,且都是访问Tomcat默认的ROOT首页 二.未调优前 并发用户数从10-1000挨个测试,测试结果如下: 从上面的测试结果来看