python - Django 中的性能、负载和压力测试

标签 python django testing performance-testing

我正在研究 Django 应用程序的不同类型的测试。我知道如何在 Django 中进行功能和单元测试以及如何应用不同的方法,但现在我面临一个新的挑战,我需要知道如何做:

  • 性能测试
  • 负载测试
  • 压力测试

知道它们之间的区别,但我不知道哪种是最好的方法,哪些是最好的软件包,或者只是我可以从哪里获得一些文档 关于它。

所以我的问题是,我如何开始在 Django 应用程序中进行这些类型的测试,或者我在哪里可以获得一些关于它的良好文档?

谢谢

最佳答案

Load TestingStress Testing基本上是性能测试子类型,其中:

  • 负载测试:将系统置于预期负载下,以查看响应时间或吞吐量等性能指标是否符合预期/SLA小号
  • 压力测试:确定系统边界和/或瓶颈,即您开始“正常”负载测试并增加负载,直到监控指标超过可接受的阈值或开始出现错误(以先到者为准)

另外,请注意 Soak Testing - 当您将系统置于长时间 负载下以查看它是否能够处理持续的并发使用时。多数bottlenecks在浸泡测试阶段被发现。


关于“我该怎么做”:

  1. 首先,您需要一个性能测试工具。给定 pythondjango 标签,我的期望是你会找到 Locust这个工具很有趣,因为您将能够以某种形式的 Python 语言编写测试。也可以考虑Grinder你可以在 Jython 中编写测试(Python 的 Java 绑定(bind))语言,因此您不必从头开始学习新工具。 Open Source Load Testing Tools: Which One Should You Use? 中列出并比较了其他免费和开源负载测试工具。

  2. 下一步将创建负载测试场景。您需要尽可能地模拟真实应用程序的使用情况,也就是说,您需要使用真实浏览器和所有相关内容正确模拟真实用户,例如:

    • cookies
    • 标题
    • 缓存
    • 思考时间
    • AJAX 请求
    • 嵌入式资源处理(图像、脚本、样式、字体)
  3. 一旦您完成测试并确信它正在做它应该做的事情,您就可以在更多用户的情况下运行它,看看您的应用程序在负载下的表现如何,关联增加/随着指标/资源使用的变化减少负载

关于python - Django 中的性能、负载和压力测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46893226/

相关文章:

python - 将python对象序列化为python源代码

python - TypeError : list indices must be integers or slices, not str - 从 json 获取

testing - 模拟与 Apache HTTP 客户端的中断连接(用于测试目的)

django - 当使用 django 运行 collectstatic 时,python 模块也被复制是正常的吗?

c# - 映射器未初始化,我的单元测试 Core.Net 2.0 出错

testing - 您会编写哪些测试来验证 MD5 实现的正确性?

python - 如何在 Python 中使用 Tkinter 创建自定义消息框并更改消息和更改按钮状态

python - 如何使用 NumPY 对缩小函数进行矢量化?

django - 开发 django-cms 下拉菜单

django - 如何检索 Django 中所有对象的字段列表?