bes*_*hes 3 java multithreading dropwizard
排队线程池有 4 个指标
jmx.metrics.org.eclipse.jetty.util.thread.QueuedThreadPool.dw.size.Value
jmx.metrics.org.eclipse.jetty.util.thread.QueuedThreadPool.dw.jobs.Value
jmx.metrics.org.eclipse.jetty.util.thread.QueuedThreadPool.dw.utilization.max.Value
jmx.metrics.org.eclipse.jetty.util.thread.QueuedThreadPool.dw.utilization.Value
Run Code Online (Sandbox Code Playgroud)
他们的意思是什么?什么是理想值?
org.eclipse.jetty.util.thread.QueuedThreadPool.dw.jobs
\n\n\n\xe2\x80\x9c 排队等待线程\xe2\x80\x9d 的作业数量。您希望该指标尽可能低,因为您不希望请求等待被服务。您可能偶尔会得到 1,但那是当指标抓取它\xe2\x80\x99s 值时,在单个作业在队列中的极短时间内,无需担心,因为所有请求都必须从队列中得到服务。
\n
\n\n理想:理想情况下,该值应接近 0。每当该数字增大且 dw.size < maxThreads 时,dropwizard 将启动新线程。从而将等待重置为0。
\n
org.eclipse.jetty.util.thread.QueuedThreadPool.dw.size
\n\n\n当前池\xe2\x80\x9d 中的线程数。这些是 (Jetty) Web 服务器中为请求提供服务的线程。
\n
\n\n理想情况:这个数字将小于您在 config.yml 中定义的 maxThreads(默认 1024)。如果您看到该指标接近 maxThreads 并且 QueuedThreadPool.dw.jobs 没有减少,您应该调查为什么使用了如此多的线程,并尝试增加它(如果您的计算机可以支持)。
\n
org.eclipse.jetty.util.thread.QueuedThreadPool.dw.utilization
\n\n\n池中当前正在使用的线程数(例如,池中当前有多少线程不空闲)
\n
org.eclipse.jetty.util.thread.QueuedThreadPool.dw.utilization-max
\n\n\n当前使用的线程数与池可以增长到的最大线程数相比。
\n
\n\n理想情况:该值应小于 1。如果该值始终为 1,则应增加最大线程数。
\n
来源和鸣谢nickb
\n