一、Tomcat安全配置
1. 解压后删除webapps下的所有目录,禁用Tomcat后台管理界面
2. 注释掉tomcat-user.xml文件内的用户权限
3. 禁用tomcat关闭指令SHUTDOWN端口,port="-1",调试命令telnet ip 8005
4. web.xml自定义错误页面,不将堆栈信息暴露给用户
二、Tomcat性能优化
平均响应时间与吞吐量:reqs/s每秒请求的次数,
yum install httpd-tools #安装apachebench(ab)
ab -n -c -p url #执行
2.1.JVM内存调优
查看进程jvm占用情况
jmap -heap pid
内存参数
-server 以服务端模式运行
-Xms 最小堆内存 -Xmx 最大堆内存 最大最小堆内存设置相同
-XX: MetaspaceSize 初始元空间大小
-XX: MaxMetaspaceSize 初始元空间大小
-XX: MaxNewSize 新生代最大内存,默认16M
2.2.GC调优
内存分配时间与暂停时间
如何查看垃圾收集器
加jconsole远程连接参数进行连接
-Djava.rmi.server.hostname=your ipaddr
-Dcom.sun.management.jmxremote.port=18999
-Dcom.sun.management.jmxremote.rmi.port=18999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
几种垃圾回收器
1.串行收集器SC
2.并行收集器PC(暂停时间无要求使用,峰值性能最大)
并发收集器垃圾回收时不会暂应用线程
3.并发收集器CC(响应时间比吞吐量重要,使用并发收集器)
4.并发标记清除收集器CMSC
5.G1收集器G1GC(JDK1.7出现**)
指定垃圾回收器
-XX: +UseG1GC
三、Tomcat配置server.xml
tomcat最大请求处理数=maxConnections+acceptCount
<Executor>共享线程池
minSprareThreads初始化线程数
maxConnections最大连接数,建议2000
maxThreads最大线程数
acceptCount最大排队等待数