我是否应该在加载测试Web应用程序时发送同步或异步请求?

时间:2015-07-16 02:30:10

标签: python multithreading asynchronous web load-testing

加载测试网络应用时,我可以

  1. 在多个线程中发送同步请求,或
  2. 使用异步客户端并处理回调中的响应。
  3. 使用多线程方法,同一线程内的请求仅在收到最后一个响应后发送。并发是通过线程实现的。

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

    例如,使用python,我可以使用requests发送请求(同步),或者我可以使用twistedtornado的异步HTTP客户端。< / p>

    负载测试的方法是什么?

1 个答案:

答案 0 :(得分:1)

因为负载测试通常是IO绑定操作(免责声明:这取决于您在系统中未描述的系统性质),异步方法更好。异步方法可以减少线程上下文切换,即使CPU没什么用,也会对CPU产生不必要的负担。

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