gpt4 book ai didi

Python脚本负载测试网页

转载 作者:太空狗 更新时间:2023-10-30 02:23:24 25 4
gpt4 key购买 nike

我想为网页做一个测试负载。我想用多线程在 python 中完成。第一个 POST 请求将登录用户(设置 cookie)。

然后我需要知道服务器可以同时处理多少用户同时执行相同的 POST 请求。所以我正在考虑生成线程,在其中循环发出请求。

我有几个问题:1. CPU 是否可以同时运行 1000 - 1500 个请求?我的意思是它不会减慢系统速度所以它不再可靠了吗?2.带宽限制如何?要使此测试可靠, channel 应该有多好?

托管测试站点的服务器是 Amazon EC2 脚本将从另一台服务器(也是 Amazon)运行。

谢谢!

最佳答案

cPython 在运行多线程时并没有利用多核的优势。这意味着,基本上,您将只有一个核心执行测试工作。

有专门的工具可以做你想做的事。让我推荐两个:

FunkLoad是一个功能和负载网络测试器,用 Python 编写,其主要用例是:

  • 网络项目的功能测试,以及回归测试。
  • 性能测试:通过加载网络应用程序和监控您的服务器,它可以帮助您查明瓶颈,提供详细信息绩效衡量报告。
  • 加载测试工具以发现在粗略测试中没有出现的错误,例如体积测试或生命周期测试。
  • 压力测试工具来压倒网络应用程序资源并进行测试应用程序的可恢复性。
  • 通过编写任何网络重复性任务的脚本来编写网络代理,例如检查是否网站还活着。

Tsung是一个开源的多协议(protocol)分布式负载测试工具

The purpose of Tsung is to simulate users in order to test the scalability and performance of IP based client/server applications. You can use it to do load and stress testing of your servers. Many protocols have been implemented and tested, and it can be easily extended. WebDAV, LDAP and MySQL support have been added recently (experimental).

It can be distributed on several client machines and is able to simulate hundreds of thousands of virtual users concurrently (or even millions if you have enough hardware ...).


如果您决定编写自己的工具,您可能希望使用 Python 的 multiprocessing module因为它会让您使用多个内核。您还应该看看 Twisted因为它可以让您在线程数量有限的情况下轻松处理多个套接字。这比为每个套接字生成一个新线程要好得多。

您使用的是 Amazon EC2,因此我建议您使用 Tsung。你可以租用一打多核服务器几个小时,然后用 Tsung 运行一些非常重的负载测试。它在这种配置中扩展得很好。

至于带宽,通常不是问题,但这取决于应用程序。在执行负载测试时,您必须密切监控您的所有资源。

关于Python脚本负载测试网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4179879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com