【问题标题】:Should I send synchronous or asynchronous requests when load testing a web app?在对 Web 应用程序进行负载测试时,我应该发送同步请求还是异步请求?
【发布时间】:2015-07-16 02:30:09
【问题描述】:

在对 Web 应用程序进行负载测试时,我可以

  1. 在多个线程中发送同步请求,或者
  2. 使用异步客户端并在回调中处理响应。

使用多线程方法,同一线程内的请求仅在收到最后一个响应后才发送。并发是通过线程实现的。

使用异步方法,并发请求会快速连续发送。但是,请求必须定期发送,给事件循环足够的时间来处理响应。

例如使用python,我既可以使用requests发送请求(同步),也可以使用twistedtornado的异步HTTP客户端。

负载测试的方法是什么?

【问题讨论】:

    标签: python multithreading asynchronous web load-testing


    【解决方案1】:

    因为负载测试通常是 IO 绑定操作(免责声明:这取决于您在问题中没有描述的系统性质)异步方法更好。异步方法执行的线程上下文切换较少,即使 CPU 无事可做,也会给 CPU 带来不必要的负担。

    但是我建议不要尝试发明自己的负载测试工具,尤其是如果您没有这方面的经验。相反,请使用 JMeter 等库存软件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-09
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多