Java 在JRuby中测量上下文切换

Java 在JRuby中测量上下文切换,java,jruby,Java,Jruby,我们正在运行一个多线程JRuby(9.0.5.0)应用程序。我们看到我们的请求(某个时候)需要很长时间才能回复。比如4-5秒,有时甚至比这更大。。平均响应时间约为90-100ms时,每次约1-3分钟 该问题会在很短的时间内(随机)发生,并在初始故障后表现正常 我们跟踪了GC信息,但没有发现任何反映GC暂停会导致如此长的响应时间的信息 我的假设现在转移到了语境转换中的时间损失 所以我来这里是想知道 有没有办法 测量父进程的总体上下文切换(累积)时间 报告每个线程的单个上下文切换计时 我的假设现

我们正在运行一个多线程JRuby(9.0.5.0)应用程序。我们看到我们的请求(某个时候)需要很长时间才能回复。比如4-5秒,有时甚至比这更大。。平均响应时间约为90-100ms时,每次约1-3分钟

该问题会在很短的时间内(随机)发生,并在初始故障后表现正常

我们跟踪了GC信息,但没有发现任何反映GC暂停会导致如此长的响应时间的信息

我的假设现在转移到了语境转换中的时间损失

所以我来这里是想知道

有没有办法

  • 测量父进程的总体上下文切换(累积)时间
  • 报告每个线程的单个上下文切换计时
我的假设现在转移到了语境转换中的时间损失

不会去那里——除非你有成千上万的线程,否则JVM会通过(它自己的)上下文切换进行微调。听起来你走错路了。相反,您应该尝试进行一些评测,或者让有更多JVM经验的人加入进来