提问人:DJDeveloper 提问时间:4/23/2022 更新时间:4/23/2022 访问量:160
带有 DRF API 的 Django 在几周或几个月后速度变慢
Django with DRF APIs slows down after few weeks or months
问:
我有带有 DRF 的 Django 网站,它有几个基于 DRF 的 API,带有 GenericAPI 视图和 API 视图。API 用于计算 XML 与 XML 以及 JSON 与 JSON 的差异。两个对象作为正文传递给这些 API,API 返回差异数和发现差异的确切节点。它还使用添加或删除的节点进行响应。
当我的环境刚刚启动并运行几周(比如 2 周)时,sight 和 API 工作得很好。我最近观察到,一个月或 3 周后,相同的 API 需要更多的时间来计算同一组数据的差异。
通常它非常快,例如,如果我们有大型 JSON 对象,则每秒处理 1k 个差异。如果我们有非常小的 JSON 或 XML 对象,比如 5 到 10 个键(非常基本),那么主库函数就会计算出大约几毫秒的差异。因此,总体 API 时间约为 200 毫秒。
现在我遇到的问题是,假设 3 周或一个月后,相同的非常基本的 JSON 对象比较(只有 5-10 个键)需要 20 秒才能响应。库函数需要将近 20 秒才能计算出一两个差值。
我在这里没有使用任何缓存。我的任何库函数都不涉及数据库操作。
我确实在 python 中使用 dict 和 list 数据类型来存储计算的差异。知道为什么会这样吗?
基础设施详细信息:
- 具有 16 GB RAM 的 4VCPU 计算机 (AWS t3.xlarge)
- 使用 Nginx、Gunicorn Django 的 Docker Compose 环境
答: 暂无答案
评论