tomcat安全及性能调整

1、tomcat安全

1)删除原webapps下的ROOT下所有内容(这个是tomcat管理工具的东西,没有必要保留)
2)禁用tomcat管理(默认是禁用的)
3)降权启动(可以使用tomcat用户启动,需要catalina.sh修改)
注意:严格遵守目录755和文件644
bin、conf、lib、webapps给予root用户,有时候需要给conf目录tomcat用户权限,因为在启动时会有配置文件的创建
tmp、logs、work目录给予tomcat用户(用户存放临时文件)
4)关闭war包自动部署(防止被植入病毒)
server.xml文件修改:unpackwars="false" autoDeploy="false"
5)关闭不必要的端口:
8005端口可以进行注释或者将shutdown字段更改为其他。
使用了nginx+tomcat,请关闭8009端口,
如果使用了apache+tomcat,请关闭8080端口。
6)禁止目录列表(tomcat7和8默认是禁止的)
7)tomcat和jdk最好版本统一

2、tomcat性能调整

1)一般而言JDK版本越高,性能也会越好,开发新项目最好使用较新的jdk版本
2)内存优化
说道内存的优化,主要是针对tomcat的启动参数优化,tomcat的启动脚本:catalina.sh
通过在这个脚本中设置JAVA_OPTS参数,来实现tomcat性能的调优
下面对参数进行一个总结:
-server 启用JDK的server版,都要加上这个参数
-Xms java虚拟机初始化时最小的内存
-Xmx java虚拟机可以使用的最大的内存
-XX:PermSize=512m 内存永久保留区(堆栈)
-XX:MaxPermSize=512m 内存最大永久保留区(堆栈)
生产环境中一般情况将xms和xmx设置为一样大,这样不用再让系统再分配内存给java虚拟机,一般设置为系统的70%。这个是不是硬性规定的,这个还要看你的项目及系统多少内存,最好使用监控用来定位。
-Xss 128k 设置每个线程的堆栈大小为128k。
-XX:NewRatio=4 设置年轻代和老年代的比值为4
-XX:SurvivorRatio=4 设置年轻代中Eden区和Survivor区大小比为4
-XX:MaxTenuringThreshold=0 设置垃圾最大年龄为0
-XX:+UseParalleIGC 选择垃圾收集器为并行收集器
-XX:ParalleIGCThreads=8 配置并行收集器的线程数
-XX:+UseParallelOldGC 配置年老带垃圾收集方式为并行收集
-XX:+UseAdaptiveSizePolicy 并行收集器会自动选择年轻代区大小和相应的Survivor区比例,已达到目标系统规定的最低响应时间见或者收集频率等,此值建议使用并行收集器时,一直打开。
3)连接池
(可以多个tomcat公用一个连接池)以下是个案例:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="150" minSpareThreads="100"
prestartminSpareThreads="true" maxQueueSize="100"
/>
name是线程池的名字,maxprefix:线程前缀
maxThreads:最大连接数
minSpareThreads:初始化时线程数
prestartminSpareThreads:true,如果为false,则minSpareThreads无效
maxQueueSize:队列数(5.5版本以前),acceptCount:最大队列数
其中和最大连接数相关的参数为maxThreads和acceptCount。如果要加大并发连接数,应同时加大这两个参数。

原文地址:http://blog.51cto.com/laodou/2122045

时间: 2024-08-13 18:08:57

tomcat安全及性能调整的相关文章

Tomcat介绍及性能优化

一.Tomcat简单介绍: Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. 版本介绍:现在版本更新到 Apache Tomcat 8.x,但是Apache Tomcat 7.x是目前开发的焦点.Apache Tomcat 7.x它在汲取了Tomcat 6.0.x优点的基础上,实现了对于Servlet 3.0.JSP 2.2和EL 2.2等特性的支持. 除此以外的改进列表如下:

Tomcat 生产服务器性能优化

虑一下这种场景,你开发了一个应用,它有十分优秀的布局设计,最新的特性以及其它的优秀特点.但是在性能这方面欠缺,不管这个应用如何都会遭到客户拒绝.客户总是期望它们的应用应该有更好的性能.如果你在产品中使用了Tomcat服务器,那么这篇文章就会给你几方面来提升Tomcat服务器的性能.感谢ITWorld article给本文提供资源.经过沉思我已经知道了和早期版本相比最新的Tomcat提供更好的性能和稳定性.所以一直使用最新的Tomcat版本.现在本文使用下面几步来提高Tomcat服务器的性能. 增

Jetty 与 Tomcat 比较,及性能分析

主流java的web容器,主要是Tomcat, jboss, jetty, resin.由于以前我们主要用的是jboss4.0.5,但jbosse用的servlet容器是tomcat5.5,所以只进行tomcat和 jetty的比较,两个谁好谁坏,适合你用,你才知道.resin就不说了,好像已经成为了history. 一.Tomcat 现在Tomcat版本已经是8.0了,在Tomcat6和7都增加了很多新的特性. 版本 特性 Tomcat7系列 Tomcat6系列 二.jetty 由于jetty

RHCA442学习笔记-Unit13网络性能调整

UNIT 13 Essential Network Tuning 网络性能调整 目标:1. 应用队列技术最大化网络吞吐量 2. 调整TCP和non-TCP网络sockets的buffer 13.1 Simplified transmit model 简化传输的模式 A. Output/writer发送数据 a. 把数据传到socket ”file” (相当于传输了buffer) ** b. 内核把数据封装到PDU(协议数据单元) c. PDU会被传送到每个设备传输队列   ** d. 驱动程序会

Oracle性能调整ASH,AWR,ADDM

ASH (Active Session History)ASH以V$SESSION为基础,每秒采样一次,记录活动会话等待的事件.不活动的会话不会采样,采样工作由新引入的后台进程MMNL来完成.ASH buffers 的最小值为1MB,最大值不超过30MB.内存中记录数据.期望值是记录一小时的内容. 生成ASH报告:SQLPLUS>@?/rdbms/ashrpt.sql ASH内存记录数据始终是有限的,为了保存历史数据,引入了自动负载信息库(Automatic Workload Repositor

Oracle 优化和性能调整

分析评价Oracle数据库性能主要有数据库吞吐量.数据库用户响应时间两项指标.数据库用户响应时间又可以分为系统服务时间和用户等待时间两项,即:  数据库用户响应时间=系统服务时间+用户等待时间  因此,获得满意的用户响应时间有两个途径:一是减少系统服务时间,即提高数据库的吞吐量:二是减少用户等待时间,即减少用户访问同一数据库资源的冲突率.  数据库性能优化包括如下几个部分:  调整数据结构的设计 这一部分在开发信息系统之前完成,程序员需要考虑是否使用Oracle数据库的分区功能,对于经常访问的数

T-SQL性能调整——信息收集

原文:T-SQL性能调整--信息收集 IO信息(自服务器启动开始) --Database IO analysis WITH IOFORDATABASE AS ( SELECT DB_NAME(VFS.database_id) AS DatabaseName , CASE WHEN smf.type = 1 THEN 'LOG_FILE' ELSE 'DATA_FILE' END AS DatabaseFile_type , SUM(VFS.num_of_bytes_written) AS IO_

【翻译】Netscaler真实表现性能调整

源地址:https://msandbu.wordpress.com/2014/10/31/netscaler-and-real-performance-tuning/ 作者显然不是以英语为母语的,所以有些地方我看着也比较费劲,但是十分感谢原作者. =========翻译内容开始========= 昨儿我跟Citrix User Group在挪威一起就Netscaler和性能调整开了个会,45分钟的时间里我也没法说太多关于性能调整的,但是我觉得我还是搞了个大差不离. 下面是会议日程: TCP概述,

关于Oracle的性能调整(一)

Oracle Tuning的一些总结 关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库本身的调整,比如SGA.PGA的优化设置,二是连接Oracle的应用程序以及SQL语句的优化.做好这两个方面的优化,就可以使一套完整的Oracle应用系统处于良好的运行状态. 本文主要是把一些Oracle Tuning的文章作了一个简单的总结,力求以实际可操作为目的,配合讲解部分理论知识,使大部分具有一般Oracle知识的使用者能够对Oracle Tuning有所了解,并且能够根据实际情况