Servlet 睡眠 10 秒,多瀏覽器標籤頁同時請求,發現請求串行執行 (前一個結束後下一個才進入),而非預期的並發多線程。
?t=timestamp 強制新連接。maxThreads 默認 200,acceptCount 默認 100,一般不會限制到 1。檢查 server.xml 是否被誤改為 maxThreads="1"。HttpSession (默認同步),同一 Session ID 的並發請求會串行。// 簡單併發測試腳本
for i in {1..5}; do
curl -s "https://localhost:8080/test?req=$i" &
done
wait
若 curl 並發正常返回,說明 Servlet 容器多線程正常,問題在瀏覽器端。
`AsyncContext` 釋放容器線程,但瀏覽器連接限制仍存在,需同樣排查客戶端併發能力。