django - 如何分析 Django 的扩展瓶颈?

标签 django optimization profiling scalability tastypie

我正在使用 django 和 tastypie 作为 REST API。

对于分析,我使用django-silk,下面是请求摘要:

enter image description here

如何分析完整的流程?除数据库查询外,平均花费的时间为 (382 - 147) 毫秒。如何找出瓶颈并优化/扩展?我确实使用了 @silk_profile() 作为该资源的 get_object_list 方法,但即使这个方法似乎也不是瓶颈。

我使用缓存来减少响应时间,但这没有多大帮助,其他选项是什么?

使用 loader.io 进行测试时,服务器可以处理的峰值是每 30 秒 1000 个请求(这看起来非常低)。除了缓存(我已经尝试过)之外还有什么可能有帮助?

最佳答案

这里有很多建议:

  1. 每个请求的查询数至少低于 5 个(每个请求 34 个确实很糟糕)
  2. 安装django工具栏,看看时间都花在哪里了
  3. 在反向代理 (NGINX) 后面使用 Gunicorn 或 uwsgi

关于django - 如何分析 Django 的扩展瓶颈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31051693/

相关文章:

django - 根据用户Django的权限制作动态侧边栏

django - 删除 Django Rest Framework 响应中的 header

python - 使用 Django、celery 和 Redis 安排任务

android - OpenGL ES 中的 GPU 分析和回调

java - 如何将 JProfiler 连接到在本地主机上运行的应用程序?

mysql - Django 字符集和编码

c++ - 如果一个函数只从一个地方调用,内联它总是更好吗?

c - 什么更好 : function or define

optimization - Proc Optmodel 条件约束 SAS

java - CodePro Profiler 怎么样?