我正在对我们的网站进行性能测试。该站点公开了许多Web服务api。我们的产品有几个工作流,每个完整的工作流都由调用多个api组成。
我想知道以下哪种方法是合理的:
-
以独立的方式测试每个单个 API
-
测试每个完整的工作流,其中涉及几个 api。
我认为后者更有意义,因为它模拟了真实的场景。我想听听你的意见。
谢谢。
与往常一样,每种方法都有优缺点。我个人会考虑两者都做,从单个API测试开始。
单个API可能是最容易构建的,它的好处是可以准确地指出性能问题在哪里。在开发过程中发现性能的回归也很有用。如果应用程序有单元测试,请考虑使用它们。当出现性能回归时,通常也会出现单元测试突然变慢的情况。
一旦你完成了这些,你仍然需要做更复杂的测试。首先是因为您需要知道某个流的性能是否可接受,而且还因为不同API之间可能存在意想不到的交互。根据您的应用程序,可能会出现严重的并发问题、吞吐量瓶颈等。确保你同时运行多个流,这是在实际生活中发生的事情,这是发现与数据库锁定,I/O瓶颈等相关问题的唯一方法。
但是在开始之前,请确保您对性能应该是什么、将有多少并发用户以及硬件要求是什么有一个现实的想法。提高性能是没有限制的,所以你必须决定什么是足够好的,否则你永远不会停止优化。