gpt4 book ai didi

python - 使用 Python 对 Web 服务进行并发测试

转载 作者:行者123 更新时间:2023-12-04 14:43:03 25 4
gpt4 key购买 nike

我有一个网络服务需要处理大量的并发使用和数量,我需要测试它。由于该服务相当专业,因此它不适合典型的测试框架。该测试需要模拟多个客户端同时发布到一个 URL,解析生成的 Http 响应,检查数据库是否已适当更新并确保某些电子邮件已正确发送/接收。

我公司目前的意见是我应该使用 Python 来编写这个框架。我以前从未将 Python 与多线程一起使用,在我进行研究时,我遇到了全局解释器锁,它似乎是大多数 Python 并发处理的基础。在我看来,即使在多处理器机器上,GIL 也会阻止 Python 实现真正的并发。这是真的?如果我使用编译器将 Python 编译为 native 代码,这种情况会改变吗?我是不是完全找错了树,Python 是完成这项工作的错误工具吗?

最佳答案

全局解释器锁防止线程同时执行 Python 代码。当 Python 被编译为字节码时,这不会改变,因为字节码仍然由 Python 解释器运行,这将强制执行 GIL。 threading 通过每 sys.getcheckinterval() 字节码切换线程来工作。

这不适用于 multiprocessing,因为它会创建多个 Python 进程 而不是线程。您可以拥有尽可能多的系统支持,真正同时运行。

是的,您可以使用 Python 来完成此操作,使用 threadingmultiprocessing

关于python - 使用 Python 对 Web 服务进行并发测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3458249/

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