统的瓶颈,所谓瓶颈,就是最慢的那个部分,也常表现为100被占满。比如你的内存或者cpu被用尽了。如果cpu和内存还没有用尽,说明他们在等某个资源。这时候需要用profile工具去寻找,比如JProfile,YourKit。利用性能监控日志因为性能的问题不是很容易重现,当product环境中遇到性能问题的时候,如果是数据的问题,也许当你把product数据copy到你的测试环境中,就能重现比较慢点查询,加以改进。但是如果是并发用户或者网络等运行时环境的问题,你就很难重现。这时,如果你能通过日志看到那些关键的响应慢的方法,也许可以帮助你快点找到问题所在。下面的代码可以帮你做到这一点,仅供参考:
importorgslf4jLogger
f
publicclassTraceUtilfi
alLoggerloggerfi
allo
gthreshold1000privatelo
gbegi
privatelo
gofftime0privateStri
gthreadI
foprivateStri
gtargetId
publicTraceUtilLoggerloggerThreadthreadStri
gtargetIdlo
gbegi
thisloggerloggerthisthreadI
fothreadgetId