Java開(kāi)發(fā) 服務(wù)器

2021-04-28 16:35 更新

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

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

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

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

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

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

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

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

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

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

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

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)