我正在对在 Apache Tomcat 6 上运行的 Web 应用程序框架进行性能研究。
我正在尝试测量处理 HTTP 请求的时间开销。
我想做的是:
/
// just before first request byte is read
long t1 = System.nanoTime();
// request is processed...
// just after final byte is written to response
long t2 = System.nanoTime();
/
然后我会计算总时间 (t2 - t1)。
有办法做到这一点吗?感谢您的帮助!
最佳答案
跟踪此问题的最佳方法可能是使用 Valve .
但如果 Tomcat 导出的 MBean 中尚未对此进行跟踪,我会感到惊讶。特别是,MBean Catalina:name=http-<my port num>,type=GlobalRequestProcessor
列出以下属性:
bytesSent=51829989
bytesReceived=0
processingTime=11464
errorCount=8
maxTime=1250
requestCount=923
modelerType=org.apache.coyote.RequestGroupInfo
查看 Monitoring and Managing Tomcat 上的文档了解如何使用 JMX 访问这些 MBean。
关于java - 如何在套接字级别拦截 Tomcat 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630437/