针对Web服务的性能测试



我正在对我们的网站进行性能测试。该站点公开了许多Web服务api。我们的产品有几个工作流,每个完整的工作流都由调用多个api组成。

我想知道以下哪种方法是合理的:

  • 以独立的方式测试每个单个 API

  • 测试每个完整的工作流,其中涉及几个 api。

我认为后者更有意义,因为它模拟了真实的场景。我想听听你的意见。

谢谢。

与往常一样,每种方法都有优缺点。我个人会考虑两者都做,从单个API测试开始。

单个API可能是最容易构建的,它的好处是可以准确地指出性能问题在哪里。在开发过程中发现性能的回归也很有用。如果应用程序有单元测试,请考虑使用它们。当出现性能回归时,通常也会出现单元测试突然变慢的情况。

一旦你完成了这些,你仍然需要做更复杂的测试。首先是因为您需要知道某个流的性能是否可接受,而且还因为不同API之间可能存在意想不到的交互。根据您的应用程序,可能会出现严重的并发问题、吞吐量瓶颈等。确保你同时运行多个流,这是在实际生活中发生的事情,这是发现与数据库锁定,I/O瓶颈等相关问题的唯一方法。

但是在开始之前,请确保您对性能应该是什么、将有多少并发用户以及硬件要求是什么有一个现实的想法。提高性能是没有限制的,所以你必须决定什么是足够好的,否则你永远不会停止优化。

最新更新