1.Nginx伺服器最佳化(主要涉及到Nginx.conf檔案的一些屬性配置)
#一般建議小於CPU個數,一般進程運行在CPU上,而Nginx是採取居於時間的非阻塞多工epoll模型
1.worker_processes
#將work process綁定到特定的cpu上,避免進程在cpu間切換開銷(8核設定00000001 00000010 00000100 00001000)
2.worker_cpu_affinity 0001 0010 0100 1000
#進程最大可以開啟檔案描述符數量502錯誤(系統描述符支撐最大量/進程數)
3.worker_rlimit_nofile
#每個進程允許的最大串連數(做靜態伺服器時:客戶串連數=worker_connections*進程數/2 做反向 Proxy伺服器時客戶串連數=worker_connections*進程數/4 )
4.worker_connections 200000
#設定http裡面的訪問日誌和錯誤記錄檔的列印層級或者關閉,減少IO
5.http{ access_log offl;error_log logs/error.log crit}
#啟動核心複製模式,保持IO效率最高
6.http{ sendfile on}
#連線時間保持長度,優點是減少建立串連,加快響應速度。但是響應的串連數量會受到限制(最高100串連,在過來的時候還沒釋放就建立不了新串連)
7.http{ keepalive_timeout 30s}
# 壓縮,壓縮最小資源大小,等級,等級越高,壓縮效果越好,佔用伺服器資源越嚴重。
8.gzip on /gzip_min_length 1000/gzip_comp_level
#壓縮檔類型的選擇,有些檔案壓縮效果不好選擇不壓縮,減少伺服器效能損耗
9.gzip_type
#最大緩衝數量,檔案未使用存活期
10.open_file_cache max=655350 inactive=20s;
open_file_cache_valid 30s #驗證緩衝有效時間間隔
open_file_cache_min_uses 2 有效期間內檔案最少使用次數
====》20秒內達不到2次,在30秒一次的命中率檢測未達到標準則移除
2.tomcat最佳化
1.首先最佳化Tomcat安裝目錄bin目錄下的catalina.sh檔案
(1)設定堆記憶體
JAVA_OPTS=$JAVA_OPTS -server -Xms1024m -Xmx2048m
(2)設定PermGen記憶體(java.lang.OutOfMemoryError)jdk1.8不用設定
-XX:PermSize=256m -XX:MaxPermSize=512m
(3)設定java是運行在一種無圖形顯示的模式下
-Djava.awt.headless=true
2.設定server.xml
設定的一些參數
以上就介紹了nginx和tomcat伺服器最佳化,包括了tomcat,nginx方面的內容,希望對PHP教程有興趣的朋友有所協助。