线程在选择频道时挂起
Threads hang on selecting a channel
我正在对 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 没有足够的通道来发回响应,但我不确定与此相关的设置。我检查了 OS 上的文件限制,它设置为无限制。我不确定我还需要检查什么。有任何想法吗?代码是 运行 在 Solaris box 运行 SunOS.
编辑:线程池已配置为使用最少 250 个线程进行初始化,并且可以增长到 400 个线程。在问题点,我们有 250 个线程,其中只有 60 个正在处理请求。
Threads hang on selecting a channel
没有
I believe the above means WebLogic does not have enough channel to send the responses back
没有
一个线程阻塞而选择网络事件,这意味着没有传入数据,套接字发送缓冲区中没有 space,等等,具体取决于选择的事件。
在这种情况下,它是由堆栈下方的写入调用的,这表明套接字发送缓冲区中缺少 space,这表明对等方读取速度较慢。
你对此无能为力。
我正在对 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 没有足够的通道来发回响应,但我不确定与此相关的设置。我检查了 OS 上的文件限制,它设置为无限制。我不确定我还需要检查什么。有任何想法吗?代码是 运行 在 Solaris box 运行 SunOS.
编辑:线程池已配置为使用最少 250 个线程进行初始化,并且可以增长到 400 个线程。在问题点,我们有 250 个线程,其中只有 60 个正在处理请求。
Threads hang on selecting a channel
没有
I believe the above means WebLogic does not have enough channel to send the responses back
没有
一个线程阻塞而选择网络事件,这意味着没有传入数据,套接字发送缓冲区中没有 space,等等,具体取决于选择的事件。
在这种情况下,它是由堆栈下方的写入调用的,这表明套接字发送缓冲区中缺少 space,这表明对等方读取速度较慢。
你对此无能为力。