Centos7 tomcat优化
優化Tomcat7啟動慢
vim /data/jdk8/jre/lib/security/java.security
securerandom.source=file:/dev/random 替換成 securerandom.source=file:/dev/./urandomjvm 內存優化
vim /data/tomcat8/bin/catalina.sh
添加在 cygwin=false 的上一行
-server #讓jvm在服務模式下運行,可以提高jvm運行效率
-Xmx #最大內存,如果是32操作系統,2G內存以上,設置為1280G是最優的,設置太大了會造成jvm崩潰,這是32位jvm本身的限制造成的。
-Xmn #最小內存,官方推薦為最大內存的3/8,這里取下整,就521M了
-Xms #初始化內存,直接與最大內存一致,這樣可以避免內存重復分配,降低效率,直接上來就是最大的,jvm也不用再擴展內存了,節省時間。
-XX:PermSize #非堆區初始化內存分配大小
-XX:MaxPermSize #非堆區分配內存的最大上限
-XX:MaxNewSize #新生代可被分配的內存的最大上限
-XX:+UseParallelGC #優化垃圾回收。
-XX:+UseBiasedLocking #優化鎖機制。
-Djava.awt.headless=true #Headless模式是系統的一種配置模式。在該模式下,系統缺少了顯示設備、鍵盤或鼠標。
-Dfile.encoding=UTF-8 #用來改變jdk處理文件等的默認字符編碼
-Dsun.jnu.encoding=UTF-8 #調整操作系統編碼
tomcat配置優化
vim /data/tomcat8/conf/server.xml
<Connector executor="tomcatThreadPool"port="8890" protocol="org.apache.coyote.http11.Http11AprProtocol"enableLookups="false"maxHttpHeaderSize ="102400"URIEncoding="UTF-8"useBodyEncodingForURI="true"maxThreads="1000"acceptCount="1000"connectionTimeout="10000"minSpareThreads="100"maxSpareThreads="300"maxKeepAliveRequests="500"maxProcessors="1000"minProcessors="5"maxIdleTime="4000"redirectPort="7443" />enableLookups #關閉tomcat的dns查詢,節省帶寬
maxHttpHeaderSize #請求和響應的http頭的最大大小,以字節為單位指定,默認8192(8k)
URIEncoding #URL編碼字符集
useBodyEncodingForURI #請求參數的編碼方式要采用請求體的編碼方式
maxThreads #最大線程數
acceptCount #等待的線程數量
connectionTimeout #接受一個連接后等待的時間,單位毫秒
minSpareThreads #最小備用線程數,可以理解為,服務器一旦啟動,馬上創建這么多線程以備使用,因此設置太大了浪費資源,太小了會降低效率
maxSpareThreads #最大備用線程數,創建的線程數量超過這個數量時,如果某些線程空閑,那么這些會被回收,直到線程總數量小于這個值
maxKeepAliveRequests #需要保持的最大請求數,即處于keepAlive狀態的請求的個數,建議此值為maxThreads * 0.5。
maxProcessors #最大連接線程數,即:并發處理的最大請求數
minProcessors #最小空閑連接線程數,用于提高系統處理性能
maxIdleTime #當前線程大于初始化線程,那空閑線程存活的時間,單位毫秒
總結
以上是生活随笔為你收集整理的Centos7 tomcat优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在c++中,如果派生类没有重写基类中对应
- 下一篇: 西门子plc cpu228 4路模拟量输