仅使用单元测试很难在 Java 应用程序中发现所有瓶颈、死锁和内存泄漏。
我想为我的应用程序添加一定程度的压力测试。我想测试应用程序的极限,并确定它在高负载下的反应。
我想衡量以下几点:
测量和对比正常负载下的这些特性也是令人感兴趣的。
他们是众所周知的,解决压力测试的标准技术。我正在寻找建立这样一个环境的帮助/方向。理想情况下,我想定期运行这些测试,以便我们可以确定最近的交付是否会影响性能。
应用程序的性能主要有两种方法:
性能测试和系统测试
它们有什么不同?这很简单,这取决于它们的范围,性能测试的范围是有限的,而且非常不现实。例如:在某个应用程序上测试IncomingMessage处理程序,为此,您需要设置一个测试,在X、Y、Z的基础上向该处理程序发送meesages。这种方法将帮助您确定问题并衡量应用程序中单个和有限区域的性能。
所以这应该把你带到一个问题上,所以我是要单独对我应用程序中的每个组件进行基准测试和性能测试吗?是的,如果你认为组件的行为很关键,并且新版本的更改可能会导致html" target="_blank">性能下降。但是,如果你想从整体上了解你的应用程序,一堆组件之间的交互,看看性能如何,那么你需要进行系统测试。
系统测试总是尽可能地复制任何客户的正式生产环境。在这里,您可以观察应用程序性能的真实世界感觉,并采取相应行动进行纠正。
因此,作为结论,在你的应用程序上设置一个系统测试,测量你所说的你想要测量的东西。然后对整个系统施加压力,看看它是如何反应的,你会对结果感到惊讶。
最后,对你已经确定或希望在你的应用程序中保持跟踪的任何关键组件单独进行性能测试。
作为一般准则,在执行性能时,应始终: 1.- 获取处于空闲状态的系统基线。2.- 获取正常预期负载下系统的基线。3.- 在压力条件下获取系统的基线。
请记住,正常载荷结果应外推到应力条件,并且一个好的系统将始终是线性缩放的系统。
希望这有所帮助。
附言:测试、环境设置甚至数据采集应该尽可能完全自动化,这将帮助您在基础上运行它,并花时间诊断性能问题,而不是设置测试。
我们的标准技术之一是运行阶梯式负载测试来衡量可伸缩性。
我是JMeter的超级粉丝。您可以像用户访问服务器一样直接建立对服务器的调用。您可以控制用户(并发线程)和访问的数量。它可以遵循一个工作流程,一页一页地搜集相关信息。需要1到2天的时间才能把它学得足够好并富有成效。(下载一个小时内就可以做好基础!)
至于看到所有这些如何影响服务器,这是一个更棘手的问题。我使用过 CA 和 IBM 的专业工具。(我正在特定工具名称上绘制空白 - 可能是由于创伤后应激障碍!我使用了开箱即用的 JVM 分析器。我使用过原生的Linux和窗口工具。如果您不太关心分析应用程序的哪些部分会导致问题,那么您可以使用操作系统的本机工具来监视CPU /内存/ IO。
本文向大家介绍性能测试和压力测试之间的区别,包括了性能测试和压力测试之间的区别的使用技巧和注意事项,需要的朋友参考一下 性能测试 在软件上执行性能测试,以测试其在特定工作负载下的性能,灵敏度,反应时间和稳定性。 压力测试 压力测试检查特定工作负载下软件的可靠性和稳定性。它检查系统是否处于极端状况,例如重负载。 以下是性能测试和压力测试之间的一些重要区别。 序号 键 性能测试 压力测试 1 目的 性
APM 厂商「云智慧」是 DaoCloud 的合作伙伴,云智慧提供了用于应用压力测试的产品「压测宝」,可供 DaoCloud 上部署的应用进行分布式压力测试。以下内容由云智慧公司提供。 压测宝介绍 云智慧压测宝: 自动化全链路云测试,模拟真实压力 压测宝可以利用全球的云资源,快速灵活地部署测试,使任何客户都可以根据需求进行互联网和移动应用的性能测试,帮助客户找出系统瓶颈和潜在问题,改善和提升网站品
概述 Web压力测试 工具 LoadRunner LoadRunner是一种预测系统行为和性能的负载测试工具,通过模拟实际用户的操作行为进行实时性能监测,来帮助测试人员更快的查找和发现问题。LoadRunner适用于各种体系架构,能支持广泛的协议和技术,为测试提供特殊的解决方案。企业通过LoadRunner能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期。 LoadRunner提供了3大
测试环境: 系统:debian 6.0 64位 内存:64G cpu:Intel(R) Xeon(R) CPU E5-2420 0 @ 1.90GHz (2颗物理cpu,6核心,2线程) Workerman:开启200个Benchark进程 压测脚本:benchmark 业务:发送并返回hello字符串 普通PHP(版本5.3.10)压测 短连接(每次请求完成后关闭连接,下次请求建立新的连接):
本文向大家介绍Web性能压力测试工具Siege使用教程,包括了Web性能压力测试工具Siege使用教程的使用技巧和注意事项,需要的朋友参考一下 Siege是一个多线程http负载测试和基准测试工具。通过使用Siege 提供的功能,可以很容易的制定测试计划:包括规定使用并发用户数、重复数量,从而可以模拟在服务器、网络或者其它对象上附加负载以测试他们提供服务的受压能力,方便的测试服务器的性能。 官方下
我想进行压力测试,从预期的用户数开始(或从1个虚拟用户开始),然后逐渐增加负载,例如10个线程、20个线程等等…。100个线程,直到响应时间开始超过可接受的值或开始出现错误。但是对于所有这些测试运行,我应该增加爬升周期(秒),还是所有测试都保持不变?图片如下: