tomcat性能调优
tomcat安全
1、配置安全

2、应用安全

3、传输安全


tomcat 集群部署
由于单台tomcat的承载能力是有限的,当我们的业务系统用户量比较大,请求压力大时,单台tomcat是扛不住的,这个时候,就需要搭建tomcat集群,而目前比较流行的做法就是通过nginx来实现tomcat集群的负载均衡。

安装2台tomcat,修改端口地址
第一台
<Server port="8015" shutdown="SHUTDOWN">
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector protocol="AJP/1.3" address="::1" port="8019" redirectPort="8443" />
第二台
<Server port="8025" shutdown="SHUTDOWN">
<Connector port="9999" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector protocol="AJP/1.3" address="::1" port="8029" redirectPort="8443" />
安装nginx,配置代理功能
upstream serverpool{
server localhost:8888;
server localhost:9999;
}
server {
listen 99;
server_name localhost;
location / {
proxy_pass http://serverpool/;
}
}
nginx负载均衡策略
自己看文章吧,说的很清楚
https://www.cnblogs.com/1214804270hacker/p/9325150.html
默认使用轮询
weight权重 服务器配置不一致 i5 i3 内存 不一致的时候分配
ip_hash 根据ip做hash值,把同一个ip的请求分配到同一台服务器 ,保证session会话


session共享
可以使用 ip hash的方式 让同一个ip的请求访问同一台服务器。
缺点:tomcat宕机了 session就没了
补救1:使用tomcat的session复制,广播机制来完成,如果一2~4台tomcat还好,服务器多的情况下 不建议使用,因为tomcat的工作都会在拷贝数据,影响性能 耗费网络带宽 和cpu性能和内存
补救2:SSO单点登录,可以存在redis里 tomcat每次去取一下


JVM内存模型图

windows 平台 (catalina.bat)
set JAVA_OPTS=-server -Xms2048m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8
linux 平台(catalina.sh)
JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8"

windows下中文乱码
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK
一台电脑上 部署多台tomcat
需要修改的端口 8080、8005 就可以了
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005/8006/8007" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="8080/8081/8082" protocol="HTTP/1.1" connectionTimeout="20000" edirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
使用jconsole监控 线程运行状态
文件位置:jdk1.8.0_251\bin\jconsole.exe


本文详细介绍如何通过配置实现Tomcat集群部署,并利用Nginx进行负载均衡,以提升系统的稳定性和承载能力。同时,还提供了针对Tomcat性能优化的具体方案,包括调整JVM参数等。


被折叠的 条评论
为什么被折叠?



