我们在Debian下运行了几个Tomcat服务器(在AWS中),我们所有这些服务器都使用Cloudwatch指标来检测整体性能(内存,CPU和其他)。我们发现其中有一些我们有"尖峰"无论是CPU还是内存利用率,我们都想检测实际堵塞这些资源的内容。由于所有服务器运行都是基于Java的Tomcat容器内部,逻辑上是连接某种JVM分析器并可视地监视其中的线程,但正如我们在超过某个阈值时启用Cloudwatch警报(例如CPU)超过90%),我们想要触发某种自动统计信息收集,以查看实际的Java线程/代码是这种消费的根本原因。
是否有任何监视代理和/或性能收集工具可能有助于诊断这些特定的峰值,而不需要为实际长时间运行的进程收集统计信息?
我们已经尝试过New Relic,DataDog和Dynatrace的试用版本(由于其商业模式不适合小型公司,最新版本最有用,价格极其昂贵。)但是这些解决方案收集了一切,而不是只需要时间窗口,正如我上面提到的那样......这些可能会起作用,但如果在生产服务器中使用100%的时间(问题出现,而不是在预生产服务器中),则会给服务器带来相当大的开销。 )。
答案 0 :(得分:0)
我强烈建议设置一个预生产环境并运行负载测试(使用JMeter等工具)和服务器端监控。
可以使用JMX协议监控Tomcat后端。
你有2个解决方案:
与往常一样,免费软件只需花费您的时间,付费软件可以让您直接在交易中找到一些便士的问题。