我的性能測試在WebLogic和在某些時候的表現開始惡化,我看到所有被服務的HTTP請求的線程都停留在這個代碼線程掛在選擇通道
sun.nio.ch.DevPollArrayWrapper.poll0(Native Method)
sun.nio.ch.DevPollArrayWrapper.poll(DevPollArrayWrapper.java:223)
sun.nio.ch.DevPollSelectorImpl.doSelect(DevPollSelectorImpl.java:84)
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
weblogic.socket.NIOSocketMuxer$NIOOutputStream.writeInternal(NIOSocketMuxer.java:1090)
weblogic.socket.NIOSocketMuxer$NIOOutputStream.write(NIOSocketMuxer.java:983)
weblogic.socket.JSSEFilterImpl.writeToNetwork(JSSEFilterImpl.java:773)
weblogic.socket.JSSEFilterImpl.wrapAndWrite(JSSEFilterImpl.java:734)
我相信一個應用程序以上意味着WebLogic沒有足夠的通道來發送響應,但我不確定哪些設置與此相關。我檢查了操作系統上的文件限制,並將其設置爲無限制。我不知道還有什麼我需要檢查。有任何想法嗎?代碼在運行SunOS的Solaris機器上運行。
編輯:線程池已配置爲使用最少250個線程進行初始化,並且可以增長到400個線程。在這個問題上,我們有250個線程,其中只有60個正在服務請求。
發佈一些相關的代碼,你如何配置線程池和所有。 –
您正在看到一臺爲網絡提供網絡流量的網絡服務器。你想要解決什麼具體問題? –
這是堆棧跟蹤的頂部。你是否認爲這意味着它正在進行實際傳輸? – Farzad