locust学习教程(6)- 使用更快的http客户端:FastHttpUser

目录

1、概念

2、估算电脑允许的最大并发数

3、fasthttpuser的使用

更多干货

完整版文档下载方式:


1、概念

  Locust 的默认 HTTP 客户端使用的是 python-requests 库。如果我们需要运行非常高的吞吐量测试,去判断吞吐量是否达到预期值,并且运行 Locust 的电脑CPU满了,可以使用 FastHttpUser 客户端,它使用 geventhttpclient 代替。它跟 requests 库的API很相似,并且使用的 CPU 时间要少得多,可以让运行 locust 时候,电脑 CPU 的每个核最大请求数增加 5 到 6 倍。   使用 FastHttpUsers 的测试每个核心每秒可以处理接近 5000 个请求,而不是 HttpUser 大约 850 个请求(在 2018 年 MacBook Pro i7 上测试) 2.6GHz)。只要CPU没过载,FastHttpUser 的响应时间应该与 HttpUser 的响应时间几乎相同。

2、估算电脑允许的最大并发数

locust学习教程(6)- 使用更快的http客户端:FastHttpUser_第1张图片

  查看单个 Intel(R) Core(TM) i5-10500 型号的CPU 的线程数是12, 结论就是:我电脑总共12个内核,可同时处理24个线程,设置12个节点,开始执行并发测试:

  • FastHttpUsers 单核每秒可以处理接近 5000 个请求,每秒可以处理接近 6万个请求,实际按5万算吧
  • HttpUser 单核每秒可以处理接近 850个请求(在 2018 年 MacBook Pro i7 上测试) 2.6GHz),12个内核,使用 httpuser 后,每秒可以处理接近9000 个请求

所以,自己电脑12个节点全开的情况下, (1)12节点全开,电脑CPU不过载,9000并发以下的时候使用httpuser (2)12节点全开,电脑CPU过载了,9000并发以上了,考虑使用FastHttpUsers (3)12节点全开,电脑CPU过载了,并发超过6万了,拓展节点机器继续分布式压测,比如这里同事电脑的CPU总共12核,就可以开启12个节点,最大化利用CPU资源,增加电脑发给服务器的每秒的请求数。

注意:很容易因为理解不深刻,导致电脑每秒发给服务的请求数不够,比如在自己电脑20万并发,实际每秒只发送了9000个请求,服务器每秒接收到的并不是20万并发的请求数,通过分布式执行来确保20万确实是并发上去了。

3、fasthttpuser的使用

from locust import task, FastHttpUser

class MyUser(FastHttpUser):
    @task
    def index(self):
        response = self.client.get("/")

更多干货


 

完整版文档下载方式:

这些资料,对于从事【软件测试】等相关工作的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享。

在评论区和我互动交流或者私❤我【软件测试学习】领取即可,拿走不谢。


如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “✍️评论” “收藏” 一键三连哦!

你可能感兴趣的:(软件测试,性能测试,压力测试,单元测试,软件测试,程序人生,locust)