Java開發(fā) 服務器

2021-04-28 16:35 更新

\1. 【推薦】高并發(fā)服務器建議調(diào)小 TCP 協(xié)議的 time_wait 超時時間。

說明:操作系統(tǒng)默認 240 秒后,才會關閉處于 time_wait 狀態(tài)的連接,在高并發(fā)訪問下,服務器端會因為處于 time_wait 的連接數(shù)太多,可能無法建立新的連接,所以需要在服務器上調(diào)小此等待值。

正例:在 linux 服務器上請通過變更/etc/sysctl.conf 文件去修改該缺省值(秒):net.ipv4.tcp_fin_timeout = 30

\2. 【推薦】調(diào)大服務器所支持的最大文件句柄數(shù)(File Descriptor,簡寫為 fd)。

說明:主流操作系統(tǒng)的設計是將 TCP/UDP 連接采用與文件一樣的方式去管理,即一個連接對應于一個 fd。

主流的 linux 服務器默認所支持最大 fd 數(shù)量為 1024,當并發(fā)連接數(shù)很大時很容易因為fd不足而出現(xiàn)“open too many files”錯誤,導致新的連接無法建立。建議將 linux 服務器所支持的最大句柄數(shù)調(diào)高數(shù)倍(與服

務器的內(nèi)存數(shù)量相關)。

\3. 【推薦】給 JVM 環(huán)境參數(shù)設置-XX:+HeapDumpOnOutOfMemoryError 參數(shù),讓 JVM 碰到 OOM 場景時輸出 dump 信息。

說明:OOM 的發(fā)生是有概率的,甚至相隔數(shù)月才出現(xiàn)一例,出錯時的堆內(nèi)信息對解決問題非常有幫助。

\4. 【推薦】在線上生產(chǎn)環(huán)境,JVM 的 Xms 和 Xmx 設置一樣大小的內(nèi)存容量,避免在 GC 后調(diào)整堆大小帶來的壓力。

\5. 【參考】服務器內(nèi)部重定向必須使用 forward;外部重定向地址必須使用 URL Broker 生成,否 則因線上采用 HTTPS 協(xié)議而導致瀏覽器提示“不安全“。此外,還會帶來 URL 維護不一致的問題。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號