最近我们开始使用 YJP 11.0.9 对我们的应用程序(基于 XMPP 的聊天服务器)进行压力测试。在我们的测试中,我们注意到以下奇怪的行为。
- 采样显示 sun.misc.Unsafe.unpark(Object) 占用了 60% 的 CPU。
- 对于同一个应用程序跟踪显示 LockSupport.park(Object) 占用了 52% 的 CPU。
我做了多次测试来确认结果,每次我得到类似的结果。
我无法理解为什么 unpark 应该花费 60% 的时间以及为什么跟踪显示完全相反的结果。
有人可以帮我理解这些结果。我在这里错过了什么吗?
环境:
java版本 java版本“1.6.0_31” Java(TM) SE 运行时环境 (build 1.6.0_31-b04) Java HotSpot(TM) 64 位服务器 VM(内部版本 20.6-b01,混合模式)