yulei
yulei
可以提供一下jstack吗? > 使用dragonwell 8.9.10运行一段时间后出现Rocketmq消费停止现象,我在消费MQ消息的业务逻辑处理上使用了线程池与多线程,是不是因为这些业务线程都以协程的方式跑在同一个线程上导致了业务线程饥饿而使MQ的消费线程阻塞,如果是线程饥饿引起的,如何把业务线程均匀分布到不同的协程组线程上呢?
Thank you for reporting, Please describe the **steps to reproduce** according to the issue template.
您好,这个并不是在等锁,而是在等待okhttp3的IO线程。 具体原因要等我测试下七牛SDK在Wisp2下的运行状况。
您好,经测试以下代码: ```java public class A { public static void main(String[] args) throws Exception { Configuration cfg = new Configuration(Region.region0()); UploadManager uploadManager = new UploadManager(cfg); String accessKey = String secretKey =...
两个测试的主要差异在: - `Region.autoRegion()` - `"test".getBytes()`换成了`new File("/mnt/test.png")`。 我替换成您的测试后依旧无法复现问题
您好,File这个文件需要到达一定的大小才能复现问题。多次尝试后我们能够复现出来了。 感谢您提供的测试,我们很快会解决问题。
分析heapdump,`"OkHttp up.qiniup.com"` 这个协程已经epoll_ctl注册事件,等待socket返回数据  `lsof -Pan -p 576317 -i`: ``` COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 576400 yulei 20u IPv6 34428854 0t0 TCP 192.168.100.224:46070->115.231.97.60:443 (ESTABLISHED) java...
> 看了您的启动参数,应该是没有使用“-XX:ActiveProcessorCount=n”参数来限制CPU核心数。 我特意写了一个web工程,来验证稳定性(我用的是Dragonwell11版本),如果我使用“-XX:ActiveProcessorCount=n”限制CPU的话,很快就会造成程序卡死(1核心启动之后就卡死了,4核心还能跑几分钟)。不限制核心数,目前还没遇到问题。(机器是16核心的)。 Wisp设计上并没有核心数的限制,从现象来看可能还是JNI阻塞了协程调度器。可以的话请提供下jstack
Thanks for the feedback! we are starting to solve this problem
麻烦进一步提供下应用使用的框架,及其,核数等信息。 - 如果已经是事件驱动模型的应用,线程模型已经足够高效,使用协程将没有提升,反而带来了协程的调度开销 - 如果核数超过32,wisp 的workstealing 实现调优程度不够,调度的开销可能会过大