首页 文章

监视Tomcat处理CPU峰值[关闭]

提问于
浏览
-4

我们在Debian下运行了几个Tomcat服务器(在AWS中),我们所有这些服务器都使用Cloudwatch指标来检测整体性能(内存,CPU和其他) . 我们已经发现,在其中一些中,我们有CPU或内存利用率的“峰值”,我们想要检测实际堵塞这些资源的内容 . 由于所有服务器运行都是基于Java的Tomcat容器内部,逻辑上是连接某种JVM分析器并可视地监视其中的线程,但我们确实在超过某个阈值时启用了Cloudwatch警报(例如CPU)超过90%),我们想触发某种自动统计数据收集,看看实际的Java线程/代码是这种消费的根本原因 .

是否有任何监视代理和/或性能收集工具可以帮助诊断那些特定的峰值,而不需要为实际长时间运行的进程收集统计信息?

我们已经尝试过New Relic,DataDog和Dynatrace的试用版本(由于其商业模式不适合小公司,最新版本是最有用的,非常昂贵 . )但是这些解决方案收集了所有内容,而不仅仅是所需的时序窗口,正如我上面提到的那样......这些可能会起作用,但如果在 生产环境 服务器中使用100%的时间(问题出现,而不是在预 生产环境 服务器中),则会给服务器带来相当大的开销 .

1 回答

  • 0

    我强烈建议设置一个预 生产环境 环境并运行负载测试(使用JMeter等工具)和服务器端监控 .

    可以使用JMX协议监视Tomcat后端 .

    你有2个解决方案:

    • Free :带有Perfmon Agent的JMeter用于监控CPU,内存和自定义JMX Bean,

    • Freemium (又名为> 50个并发用户付费):OctoPerf支持Apache Tomcat monitoring,可以使用内部监控代理监控您的aws服务器 .

    像往常一样,免费软件只需花费你的时间,付费软件可以让你直接在交易中找到一些便士的问题 .

相关问题