標籤:head 逾時 amp 情境 html idea 檔案 串連數 --
針對目前的容器最佳化,目前來說沒有太多地方,需要考慮如下幾個點:
首先線程數是一個重點,初始線程數和最大線程數,初始線程數保障啟動的時候,如果有大量使用者訪問,能夠很穩定的接受請求, 而最大線程數量用來保證系統的穩定性,而逾時時間用來保障串連數不容易被壓垮,如果大批量的請求過來,延遲比較高,不容易把線程打滿。這種情況在生產中是比較常見的。一旦網路不穩定,寧願丟包也不願意把機器壓垮。
JVM最佳化一般來說沒有太多情境,無非就是加大初始的堆,和最大限制堆,當然也不是無限增大,根據的情況進行調節
一、線程數設定
server: tomcat: max-threads: 100 min-spare-threads: 20 connection-timeout: 5000 ssl: key-store: classpath:.keystore key-store-type: JKS key-password: qq123456 key-alias: tomcat port: 8443
二、JVM設定
1)設定記憶體初始值
java -Xms10m -Xmx80m -jar xxx.jar & (m說明為MB,否則為KB)-Xms:初始值-Xmx:最大值-Xmn:最小值
2)時區設定
java -jar -Duser.timezone=GMT+08 xxx.jar &
3)檢查堆棧資訊
jps 查看PIDjmap -histo PID|head
備忘:如果有jar包中包含jar或者jar包中包含class檔案,那麼會使用!/分隔開,這種方式只有org.springframework.boot.loader.jar.Handler能處理,它是SpringBoot內部擴充出來的一種URL協議。
jar:file:/xxx.jar!/lib/spring-boot-loader.jar
三、內嵌Tomcat最佳化
SpringBoot最佳化內嵌的Tomcat ---設定MaxConnections,參見:http://www.cnblogs.com/softidea/p/5751596.html
https設定參見:http://mojijs.com/2016/11/220956/index.html
BIO及NIO設定參見:https://my.oschina.net/u/252181/blog/832562
Spring Boot最佳化