主要有两种方法进行性能上的应用程序:
性能测试和系统测试
它们有什么不同?好吧,这很容易,它基于他们的范围,性能测试的范围是有限的,并且是非常不切实际的。示例:测试某些App X上的IncomingMessage处理程序,为此,您将设置一个测试,以X,Y,Z为基础向此处理程序发送meesages。这种方法将帮助您确定问题并衡量应用程序中个别和有限区域的性能。
所以,现在应该把你的问题,所以我该基准测试和性能测试的每一个部件在我的应用程序单独?是的,如果您认为组件的行为非常重要,并且更新版本的更改可能会导致性能损失。但是,如果您希望整体了解应用程序,那么大量组件会相互交互并查看性能如何显示,然后您需要进行系统测试。
的系统测试将一如既往地试图复制尽可能靠近任何客户的生产环境。在这里,您可以观察真实世界对应用性能的感受,并采取相应的行动来纠正它。
因此,作为结论,建立在你的应用系统的测试和测量你说什么你想衡量。然后强调整个系统,看看它是如何反应的,你会对结果感到惊讶。
最后,性能测试单独的任何关键部件你已经确定或想保持你的应用程序跟踪。
作为一般原则,在做性能时,应该始终: 1.-获取系统的基线上的空闲状态。 2.-在正常的预期负荷下获得系统的基线。 3.-在压力条件下获得系统的基线。
请记住,正常负载结果应该外推到压力条件,而一个好的系统将永远是一个线性伸缩的系统。
希望这会有所帮助。
P.S.测试,环境设置,甚至数据收集应该尽可能完全自动化,这将帮助您在此基础上运行,并花时间诊断性能问题,而不是设置测试。
我会推荐Apache JMeter http://jmeter.apache.org/作为一款优秀的Web应用程序压力测试工具。它很容易使用,也可以扩展。 – Rami
我发现加特林(http://gatling.io)也是一个很好的工具。 – cmd