一、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
几种垃圾回收器
串行收集器SC 并行收集器PC(不需要暂停时间,峰值性能最大)
收集器垃圾回收时不会暂时使用线程
并发收集器CC(使用并发收集器比吞吐量更重要) 并标记清除收集器CMSC G1收集器G1GC(JDK1.7出现)
指定垃圾回收器
-XX: UseG1GC
三、Tomcat配置server.xml
tomcat最大要求处理数=maxConnections acceptCount
<Executor>共享线程池 minSprareThreads初始化线程数 maxConnections建议最大连接数为2万 maxThreads最大线程数 acceptCount最大排队等待数