背景介绍
现有基于Java Agent的产品比如APM(Application Performance Management)、RASP、诊断工具、跟踪工具、测试平台一般声称他们产品对系统性能影响大概是X%。
事实上,Java Agent对原始Java应用程序的影响真的可以用一个简单的数字表示么?网上有篇文章[1]分析的比较有意思,下文主要是参考原始作者的文章进行阐述。
系统资源损耗
业务应用应该避免系统资源耗尽。引起这种问题的原因可能是业务应用本身,可能是Java Agent,也可能是同台主机上的其他进程。
-
CPU
-
内存
-
磁盘空间和磁盘I/O
-
网络I/O
常见问题
-
GC
-
破坏JIT优化
-
其他
结论
不要相信产品提供的通用性能指标。在自己的环境,压测开启和关闭Java Agent的性能指标数据,测试对比系统性能比如吞吐量/延迟/TPS等。
参考链接:
-
https://plumbr.io/blog/java/lies-damn-lies-and-our-performance-overhead-is-2
-
https://github.com/oldmanpushcart/greys-anatomy
原文始发于微信公众号(RASP安全技术):Java Agent对系统性能影响有多大
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论