Tomcat 对 Https 的⽀持及 Tomcat 性能优化策

1 Tomcat HTTPS 的⽀持

Https 是⽤来加强数据传输安全的
 
1.1 HTTPS 简介
 
 
Http 超⽂本传输协议,明⽂传输 ,传输不安全, https 在传输数据的时候会对数据进⾏加密ssl 协议
 
TLS(transport layer security) 协议
 
HTTPS HTTP 的主要区别
 
HTTPS 协议使⽤时需要到电⼦商务认证授权机构( CA )申请 SSL 证书
HTTP 默认使⽤ 8080 端⼝, HTTPS 默认使⽤ 8443 端⼝
HTTPS 则是具有 SSL 加密的安全性传输协议,对数据的传输进⾏加密,效果上相当于 HTTP 的升级
HTTP 的连接是⽆状态的,不安全的; HTTPS 协议是由 SSL+HTTP 协议构建的可进⾏加密传输、身
份认证的⽹络协议,⽐ HTTP 协议安全

 

HTTPS ⼯作原理
 
1.2 Tomcat HTTPS 的⽀持
1 ) 使⽤ JDK 中的 keytool ⼯具⽣成免费的秘钥库⽂件 ( 证书 )
 
keytool -genkey -alias lagou -keyalg RSA -keystore lagou.keystore
 
 
2 ) 配置 conf/server.xml
 
<Connector port = "8443" protocol = "org.apache.coyote.http11.Http11NioProtocol"
maxThreads = "150" schema = "https" secure = "true" SSLEnabled = "true" >
<SSLHostConfig>
<Certificate
certificateKeystoreFile = "/Users/yingdian/workspace/servers/apache-tomcat-
8.5.50/conf/lagou.keystore" certificateKeystorePassword = "lagou123" type = "RSA"
/>
</SSLHostConfig>
</Connector>
4 )使⽤ https 协议访问 8443 端⼝( https://localhost:8443
 

2 Tomcat 性能优化策略

系统性能的衡量指标,主要是响应时间和吞吐量。
1 )响应时间:执⾏某个操作的耗时;
2) 吞吐量:系统在给定时间内能够⽀持的事务数量,单位为 TPS Transactions PerSecond 的缩写,也就是事务数 / 秒,⼀个事务是指⼀个客户机向服务器发送请求然后服务器做出反应的过程。
Tomcat 优化从两个⽅⾯进⾏
1 JVM 虚拟机优化(优化内存模型)
2 Tomcat ⾃身配置的优化(⽐如是否使⽤了共享线程池? IO 模型?)
学习优化的原则
提供给⼤家优化思路,没有说有明确的参数值⼤家直接去使⽤,必须根据⾃⼰的真实⽣产环境来进⾏调整,调优是⼀个过程

 

2.1 虚拟机运⾏优化(参数调整)
Java 虚拟机的运⾏优化主要是内存分配和垃圾回收策略的优化:
内存直接影响服务的运⾏效率和吞吐量
垃圾回收机制会不同程度地导致程序运⾏中断(垃圾回收策略不同,垃圾回收次数和回收效率都是
不同的)
1 Java 虚拟机内存相关参数
 

 

JVM 内存模型回顾

参数调整示例
 
JAVA_OPTS = "-server -Xms2048m -Xmx2048m -XX:MetaspaceSize=256m -
XX:MaxMetaspaceSize=512m"
调整后查看可使⽤ JDK 提供的内存映射⼯具
 

 

2 ) 垃圾回收( GC )策略
垃圾回收性能指标
吞吐量:⼯作时间(排除 GC 时间)占总时间的百分⽐, ⼯作时间并不仅是程序运⾏的时间,还包
含内存分配时间。
暂停时间:由垃圾回收导致的应⽤程序停⽌响应次数 / 时间。
垃圾收集器
串⾏收集器( Serial Collector
单线程执⾏所有的垃圾回收⼯作, 适⽤于单核 CPU 服务器
⼯作进程 -----| (单线程)垃圾回收线程进⾏垃圾收集 |--- ⼯作进程继续
并⾏收集器( Parallel Collector
 
⼯作进程 -----| (多线程)垃圾回收线程进⾏垃圾收集 |--- ⼯作进程继续
⼜称为吞吐量收集器(关注吞吐量), 以并⾏的⽅式执⾏年轻代的垃圾回收, 该⽅式可以显著降
低垃圾回收的开销 ( 指多条垃圾收集线程并⾏⼯作,但此时⽤户线程仍然处于等待状态 ) 。适⽤于多
处理器或多线程硬件上运⾏的数据量较⼤的应⽤
并发收集器( Concurrent Collector
以并发的⽅式执⾏⼤部分垃圾回收⼯作,以缩短垃圾回收的暂停时间。适⽤于那些响应时间优先于
吞吐量的应⽤, 因为该收集器虽然最⼩化了暂停时间 ( 指⽤户线程与垃圾收集线程同时执⾏ , 但不⼀
定是并⾏的,可能会交替进⾏ ) , 但是会降低应⽤程序的性能
CMS 收集器( Concurrent Mark Sweep Collector
并发标记清除收集器, 适⽤于那些更愿意缩短垃圾回收暂停时间并且负担的起与垃圾回收共享处
理器资源的应⽤
G1 收集器( Garbage-First Garbage Collector
适⽤于⼤容量内存的多核服务器, 可以在满⾜垃圾回收暂停时间⽬标的同时, 以最⼤可能性实现
⾼吞吐量 (JDK1.7 之后)
 
 
bin/catalina.sh 的脚本中 , 追加如下配置 :
 
JAVA_OPTS = "-XX:+UseConcMarkSweepGC"
2.2 Tomcat 配置调优
 
Tomcat ⾃身相关的调优
 
调整 tomcat 线程池
 

 

调整 tomcat 的连接器
调整 tomcat/conf/server.xml 中关于链接器的配置可以提升应⽤服务器的性能。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

 

 

 

 

 

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值