Tomcat 對 HTTPS 的?持
Https是?來加強(qiáng)數(shù)據(jù)傳輸安全的
HTTPS 簡介
Http超?本傳輸協(xié)議绍移,明?傳輸 ,傳輸不安全相寇,https在傳輸數(shù)據(jù)的時(shí)候會(huì)對數(shù)據(jù)進(jìn)?加密
ssl協(xié)議
TLS(transport layer security)協(xié)議
HTTPS和HTTP的主要區(qū)別
- HTTPS協(xié)議使?時(shí)需要到電?商務(wù)認(rèn)證授權(quán)機(jī)構(gòu)(CA)申請SSL證書
- HTTP默認(rèn)使?8080端?侨拦,HTTPS默認(rèn)使?8443端?
- HTTPS則是具有SSL加密的安全性傳輸協(xié)議,對數(shù)據(jù)的傳輸進(jìn)?加密衬衬,效果上相當(dāng)于HTTP的升級版
- HTTP的連接是?狀態(tài)的,不安全的改橘;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)?加密傳輸滋尉、身份認(rèn)證的?絡(luò)協(xié)議,?HTTP協(xié)議安全
HTTPS?作原理
Tomcat 對 HTTPS 的?持
1) 使? JDK 中的 keytool ?具?成免費(fèi)的秘鑰庫?件(證書)飞主。
keytool -genkey -alias study -keyalg RSA -keystore study.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="C:\Users\Administrator.WINMICR-MDVHPB6\Desktop\tomcat8.5\apache-tomcat-8.5.51\conf\study.keystore" certificateKeystorePassword="study123" type="RSA"/>
</SSLHostConfig>
</Connector>
3)使?https協(xié)議訪問8443端?(https://www.abc.com:8443)
Tomcat 性能優(yōu)化策略
系統(tǒng)性能的衡量指標(biāo)狮惜,主要是響應(yīng)時(shí)間和吞吐量高诺。
1)響應(yīng)時(shí)間:執(zhí)?某個(gè)操作的耗時(shí);
- 吞吐量:系統(tǒng)在給定時(shí)間內(nèi)能夠?持的事務(wù)數(shù)量碾篡,單位為TPS(Transactions PerSecond的縮寫虱而,也
就是事務(wù)數(shù)/秒,?個(gè)事務(wù)是指?個(gè)客戶機(jī)向服務(wù)器發(fā)送請求然后服務(wù)器做出反應(yīng)的過程开泽。
Tomcat優(yōu)化從兩個(gè)??進(jìn)?
1)JVM虛擬機(jī)優(yōu)化(優(yōu)化內(nèi)存模型)
2)Tomcat?身配置的優(yōu)化(?如是否使?了共享線程池牡拇?IO模型?)
學(xué)習(xí)優(yōu)化的原則
提供給?家優(yōu)化思路眼姐,沒有說有明確的參數(shù)值?家直接去使?诅迷,必須根據(jù)??的真實(shí)?產(chǎn)環(huán)境來進(jìn)?調(diào)
整,調(diào)優(yōu)是?個(gè)過程
虛擬機(jī)運(yùn)?優(yōu)化(參數(shù)調(diào)整)
Java 虛擬機(jī)的運(yùn)?優(yōu)化主要是內(nèi)存分配和垃圾回收策略的優(yōu)化:
- 內(nèi)存直接影響服務(wù)的運(yùn)?效率和吞吐量
- 垃圾回收機(jī)制會(huì)不同程度地導(dǎo)致程序運(yùn)?中斷(垃圾回收策略不同众旗,垃圾回收次數(shù)和回收效率都是不同的)
1) Java 虛擬機(jī)內(nèi)存相關(guān)參數(shù)
JVM內(nèi)存模型回顧
參數(shù)調(diào)整示例
JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
調(diào)整后查看可使?JDK提供的內(nèi)存映射?具
2) 垃圾回收(GC)策略
垃圾回收性能指標(biāo)
- 吞吐量:?作時(shí)間(排除GC時(shí)間)占總時(shí)間的百分?, ?作時(shí)間并不僅是程序運(yùn)?的時(shí)間趟畏,還包含內(nèi)存分配時(shí)間贡歧。
- 暫停時(shí)間:由垃圾回收導(dǎo)致的應(yīng)?程序停?響應(yīng)次數(shù)/時(shí)間。
垃圾收集器 - 串?收集器(Serial Collector)
單線程執(zhí)?所有的垃圾回收?作赋秀, 適?于單核CPU服務(wù)器
?作進(jìn)程-----|(單線程)垃圾回收線程進(jìn)?垃圾收集|---?作進(jìn)程繼續(xù) - 并?收集器(Parallel Collector)
?作進(jìn)程-----|(多線程)垃圾回收線程進(jìn)?垃圾收集|---?作進(jìn)程繼續(xù)
?稱為吞吐量收集器(關(guān)注吞吐量)利朵, 以并?的?式執(zhí)?年輕代的垃圾回收, 該?式可以顯著降
低垃圾回收的開銷(指多條垃圾收集線程并??作猎莲,但此時(shí)?戶線程仍然處于等待狀態(tài))绍弟。適?于多
處理器或多線程硬件上運(yùn)?的數(shù)據(jù)量較?的應(yīng)? - 并發(fā)收集器(Concurrent Collector)
以并發(fā)的?式執(zhí)??部分垃圾回收?作,以縮短垃圾回收的暫停時(shí)間著洼。適?于那些響應(yīng)時(shí)間優(yōu)先于
吞吐量的應(yīng)?樟遣, 因?yàn)樵撌占麟m然最?化了暫停時(shí)間(指?戶線程與垃圾收集線程同時(shí)執(zhí)?,但不?
定是并?的,可能會(huì)交替進(jìn)?)身笤, 但是會(huì)降低應(yīng)?程序的性能 - CMS收集器(Concurrent Mark Sweep Collector)
并發(fā)標(biāo)記清除收集器豹悬, 適?于那些更愿意縮短垃圾回收暫停時(shí)間并且負(fù)擔(dān)的起與垃圾回收共享處
理器資源的應(yīng)? - G1收集器(Garbage-First Garbage Collector)
適?于?容量內(nèi)存的多核服務(wù)器, 可以在滿?垃圾回收暫停時(shí)間?標(biāo)的同時(shí)液荸, 以最?可能性實(shí)現(xiàn)
?吞吐量(JDK1.7之后)
垃圾回收器參數(shù)
在bin/catalina.sh的腳本中 , 追加如下配置 :
JAVA_OPTS="-XX:+UseConcMarkSweepGC"
Tomcat 配置調(diào)優(yōu)
Tomcat?身相關(guān)的調(diào)優(yōu)
-
調(diào)整tomcat線程池
-
調(diào)整tomcat的連接器
調(diào)整tomcat/conf/server.xml 中關(guān)于鏈接器的配置可以提升應(yīng)?服務(wù)器的性能瞻佛。
-
禁? A JP 連接器
-
調(diào)整 IO 模式
Tomcat8之前的版本默認(rèn)使?BIO(阻塞式IO),對于每?個(gè)請求都要?jiǎng)?chuàng)建?個(gè)線程來處理娇钱,不適
合?并發(fā)伤柄;Tomcat8以后的版本默認(rèn)使?NIO模式(?阻塞式IO)
當(dāng)Tomcat并發(fā)性能有較?要求或者出現(xiàn)瓶頸時(shí),我們可以嘗試使?APR模式文搂,APR(Apache Portable
Runtime)是從操作系統(tǒng)級別解決異步IO問題适刀,使?時(shí)需要在操作系統(tǒng)上安裝APR和Native(因?yàn)锳PR
原理是使?使?JNI技術(shù)調(diào)?操作系統(tǒng)底層的IO接?) - 動(dòng)靜分離
可以使?Nginx+Tomcat相結(jié)合的部署?案,Nginx負(fù)責(zé)靜態(tài)資源訪問细疚,Tomcat負(fù)責(zé)Jsp等動(dòng)態(tài)資
源訪問處理(因?yàn)門omcat不擅?處理靜態(tài)資源)蔗彤。