日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

zbb20171108 tomcat 性能优化

發布時間:2023/12/13 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 zbb20171108 tomcat 性能优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文地址http://www.cnblogs.com/NiceTime/p/6665416.html

?

?

1)內存優化(調整配置堆的大小,修改文件:catalina.sh)

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8

-server -XX:MinHeapFreeRatio=80 -XX:MaxHeapFreeRatio=80 -XX:ThreadStackSize=512

-XX:NewSize=128m

-XX:MaxPermSize=64m

-XX:NewRatio=4 -XX:SurvivorRatio=8

-XX:+AggressiveOpts -XX:+UseBiasedLocking

-XX:+UseConcMarkSweepGC -XX:+ScavengeBeforeFullGC

-XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:../logs/performance_gc.log

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=../logs/performance_heapdump.hprof??
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true"

開啟飛行記錄

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true

參數說明,可參考jvm的配置:

-server:服務器模式,該參數放置在配置項的首位置

-Xms:堆的初始大小,單位MB 配置-Xms-Xmx一致,為可用內存的80%

-XmX:堆的最大大小,單位MB

-Xmn:新生代的初始大小,單位MB 為堆大小的3/8

在使用jmc工具時,如需要打開飛行記錄,需要配置以下3個參數,不用時可以先不配置:

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true

2)配置文件中配置項的優化(修改文件:server.xml)

a)更改IO模式

將bio協議模式更改為nio/nio2協議模式

bio模式協議:HTTP1.1

nio模式協議:org.apache.cotyote.http11.Http11NioProtocol

nio2模式協議:org.apache.cotyote.http11.Http11Nio2Protocol

apr模式協議:org.apache.coyote.http11.Http11AprProtocol

bio協議模式,適用于簡單流程

nio協議模式,適用于后臺耗時的請求的操作

ARP模式:tomcatjni方式調用apache http服務器的核心動態鏈接庫來處理文件或網絡傳輸操作

b)調整連接器模式

Executor方面 可在tomcat組件之間共享,減少創建銷毀線程的消耗,提高線程的使用效率

3)設置會話超時時間(修改文件:web.xml)

配置項:<session-timeout>30</session-timeout> 單位為分鐘

4)文件配置說明

a)tomcat-user.xml

<role rolename="manager-gui" />

<role rolename="manager-script" />

<role rolename="manager-status" />

<role rolename="manager-jmx"/>

<user username="admin" password="123456" roles="manager-gui,manager-script,manager-status,manager-jmx" />
</tomcat-users>

b)web.xml

#配置項:<session-timeout>30</session-timeout> 單位為分鐘

<session-config>
<session-timeout>30</session-timeout>
</session-config>

c)server.xml

<!-- Prevent memory leaks due to use of particular java/javax APIs 防止jre內存泄漏-->
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />

1)單一配置方式

<!--連接器設置-->
<Connector?
port="8080"?
protocol="org.apache.coyote.http11.Http11AprProtocol" --協議類型?
disableUploadTimeout="true"

keepAliveTimeout="20000"

connectionTimeout="20000" --已接受,但未被處理的請求的等待超時時間 ms
redirectPort="8443" --安全通信的轉發端口?
URIEncoding="UTF-8"--URL編碼字符集
minSpareThreads="100" --默認初始化和保持空閑的線程數
enableLookups="false"--關閉DNS反向查詢
useURIValidationHack="false" --關閉不必要的檢查
maxThreads="1000" --處理請求線程的最大數目 未配置為200 此屬性會被忽略
acceptCount="1000" --所用可能的線程都在使用時傳入連接請求的最大長度
disableUploadTimeout="true" --設置允許更長的超時連接
maxConnections="1000"--接受和處理的最大連接數(nio/nio2 1000apr 8192)
maxHttpHeaderSize="8192"--請求和響應http頭的最大大小 8k
tcpNoDelay="true" --tcp不延遲
compression="on"--是否啟用壓縮 on off force?
compressionMinSize="2048" --壓縮前數據最小值 2k byte
noCompressionUserAgents="gozilla,traviata" --設置哪些瀏覽器不壓縮
compressableMimeType="text/html,text/xml,text/css,application/javascript,text/plain" --設置壓縮的文件類型
/>

一般只需要進行上面的配置即可

2)使用線程池的方式
<!--連接池設置-->
<Executor?
name="tomcatThreadPool" --線程池名
namePrefix="catalina-exec-" --線程名稱前綴 namePrefix+threaNumber
maxThreads="1000" --池中最大線程數
minSpareThreads="100" --活躍線程數 會一直存在
maxIdleTime="60000" --線程空閑時間,超過該時間,線程會被銷毀 ms
maxQueueSize="Integer.MAX_VALUE" --被執行前線程的排隊數目
prestartminSpareThreads="false" --啟動線程池時,是否啟用minSpareThreads部分線程
threadPriority="5" --線程池中線程優先級 1~10
className="org.apache.catalina.core.StandardThreadExecutor" --線程實現類 自定義線程需時間 org.apache.catalina.Executor
/>
<!--當配置了連接池時,需要配置該連接器-->
<Connector?
executor="tomcatThreadPool" --線程池名
port="8080"?
protocol="org.apache.coyote.http11.Http11AprProtocol"
connectionTimeout="20000"
redirectPort="8443" />

轉載于:https://www.cnblogs.com/super-admin/p/7804613.html

總結

以上是生活随笔為你收集整理的zbb20171108 tomcat 性能优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。