1. 程式人生 > >上線伺服器引數調整

上線伺服器引數調整

1.專案引數調整

a) log4j.properties日誌級別調整,一般生產環境需要將log4j.rootLogger設定為ERROR,如果需要警告級別的資訊,也是可以設定成WARN

b) Spring-hibernate.xml中,hibernate.show_sql的值設定為false,hibernate.generate_statistics的值設定為false

(console輸出內容過多時,會導致應用異常卡頓)

 

2.應用伺服器引數調整(tomcat)

(JVM引數設定,windows環境將以下引數新增到TOMCAT_HOME/bin/catalina.bat中(linux下為catalina.sh))

新增set "JAVA_OPTS=-server -Xms4096m -Xmx4096m -XX:PermSize=256M -XX:MaxPermSize=512m -XX:NewSize=256m -XX:MaxNewSize=512m"

各引數含義:

-server//伺服器模式
-Xmx4096m //JVM最大允許分配的堆記憶體,按需分配
-Xms4096m //JVM初始分配的堆記憶體,一般和Xmx配置成一樣以避免每次gc後JVM重新分配記憶體。
-Xmn512m //年輕代記憶體大小,整個JVM記憶體=年輕代 + 年老代 + 持久代
-XX:PermSize=256m //持久代記憶體大小

-XX:MaxPermSize=512m //最大持久代大小
-Xss256k //設定每個執行緒的堆疊大小
-XX:+DisableExplicitGC //忽略手動呼叫GC, System.gc()的呼叫就會變成一個空呼叫,完全不觸發GC
-XX:+UseConcMarkSweepGC //併發標記清除(CMS)收集器
-XX:+CMSParallelRemarkEnabled //降低標記停頓
-XX:+UseCMSCompactAtFullCollection //在FULL GC的時候對年老代的壓縮
-XX:LargePageSizeInBytes=128m //記憶體頁的大小
-XX:+UseFastAccessorMethods //原始型別的快速優化
-XX:+UseCMSInitiatingOccupancyOnly //使用手動定義初始化定義開始CMS收集
-XX:CMSInitiatingOccupancyFraction=70 //使用cms作為垃圾回收使用70%後開始CMS收集

-XX:-UseLoopPredicate Hotspot迴圈Bug詳解,java7非update版本需要設定此引數,否則會有應用伺服器宕機風險,若發現應用伺服器自動關閉,很大可能是因為此bug

 

 

生產環境配置參考:

-server -Xms8G -Xmx8G -XX:PermSize=480M -XX:MaxPermSize=2G -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC  -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m  -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:-UseLoopPredicate

(windows系統在檔案在conf/server.xml,主要設定最大執行緒(還有請求頭大小....))

<Connector port="8080" protocol="HTTP/1.1"

          URIEncoding="UTF-8"  minSpareThreads="25" maxSpareThreads="75"

          enableLookups="false" disableUploadTimeout="true" connectionTimeout="20000"

          acceptCount="800"  maxThreads="800" maxProcessors="1000" minProcessors="5"

          useURIValidationHack="false"

                                               compression="on" compressionMinSize="2048"

                                               compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"

               redirectPort="8443"

/>