使用 LineProfiler 对 Django 应用程序进行逐行分析

2023-11-23

我想使用 line profiler 来分析我的 django 项目以显示代码性能的分析。

我正在关注这些链接:

  1. http://djangotricks.blogspot.in/2015/01/performance-bottlenecks-in-django-views.html

  2. https://github.com/dcramer/django-devserver

但这对我不起作用。我收到有关开发服务器的错误,如下所示:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/.virtualenvs/test/lib/python3.4/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
    utility.execute()
  File "/.virtualenvs/test/lib/python3.4/site-packages/django/core/management/__init__.py", line 342, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/.virtualenvs/test/lib/python3.4/site-packages/django/core/management/__init__.py", line 195, in fetch_command
    klass = load_command_class(app_name, subcommand)
  File "/.virtualenvs/test/lib/python3.4/site-packages/django/core/management/__init__.py", line 39, in load_command_class
    module = import_module('%s.management.commands.%s' % (app_name, name))
  File "/.virtualenvs/test/lib64/python3.4/importlib/__init__.py", line 109, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 2254, in _gcd_import
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1129, in _exec
  File "<frozen importlib._bootstrap>", line 1467, in exec_module
  File "<frozen importlib._bootstrap>", line 1572, in get_code
  File "<frozen importlib._bootstrap>", line 1532, in source_to_code
  File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
  File "/.virtualenvs/test/lib/python3.4/site-packages/devserver/management/commands/runserver.py", line 29
    raise exc_type, exc_value, tb
                  ^
SyntaxError: invalid syntax

注意:我使用的版本 - Django:1.9 和 python:3.4


在这里找到解决方案:https://lothiraldan.github.io/2018-02-18-python-line-profiler-without-magic/

在 Python 3.8 和 Django 3.2 上测试。

在 django 代码中的函数之前,粘贴以下内容:

import line_profiler
import atexit
profile = line_profiler.LineProfiler()
atexit.register(profile.print_stats)

@profile
def my_function_in_django_code():
    ....

然后,启动普通服务器./manage.py runserver.

当您退出服务器(Ctrl+C)时,它将在退出时显示结果Line_profiler.

其他解决方案:简单地输出到文件:

import line_profiler
profile = line_profiler.LineProfiler()


@profile
def my_function_in_django_code():
    ....

    with open('output.txt', 'w') as stream:
        profile.print_stats(stream=stream)        

    return something
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 LineProfiler 对 Django 应用程序进行逐行分析 的相关文章

随机推荐

  • 从 TFS 2010 迁移到 TFS 2012

    我一直在网上搜索关于如何将 2010 年 tfs 集合迁移到新的 tfs 2012 服务器的干净解决方案 但没有成功 请有人协助我完成这些步骤或一个好的博客来实现这个过程 我们想要进行迁移而不是升级的原因是因为我们获得了新硬件 并且希望在升
  • 线程安全的均匀随机数生成器

    我有一些并行的 Fortran90 代码 其中每个线程都需要生成相同的随机数序列 我有一个随机数生成器 它似乎是线程不安全的 因为对于给定的种子 我完全无法在每次运行程序时重复相同的结果 我 几乎 浏览了整个网络 寻找一些线程安全 RNG
  • 带 svg 的 JavaFX 按钮

    我有这个 SVG M421 985 229 833L217 847 25 981c 7 235 7 238 16 94 13 374 29 121 18 416C176 541 2 522 165 407 0 155 318 0H36 54
  • 有没有办法摆脱 ASP.NET Web 部署项目中的 aspx 占位符文件?

    我正在使用一个网络部署项目为了预编译我的ASP NET 3 5 网络项目 它为 aspx 和 ascx 文件中的代码创建一个额外的 DLL 并且 对于每个 aspx 文件 都有一个占位符 aspx 文件 空 需要将其复制到服务器 我想简化部
  • 更新 DOM 与在 Angular 中重新渲染视图

    我正在关注https docs angularjs org guide scope 5 watch列表检测到name属性的变化并通知插值 进而更新 DOM 6 Angular 退出执行上下文 进而退出 keydown 事件以及 JavaSc
  • 为什么循环和 if 语句不需要括号

    我不明白为什么在这种情况下不需要括号 for int i 0 i lt 10 i if num i lt min min num i 为什么在这种情况下我需要括号 int num 10 min for int i 0 i lt 10 i c
  • CreateInstanceAndUnwrap 和域

    我有一个属性 我希望其实例位于其他域中 public ModuleLoader Loader get if loader null loader ModuleLoader myDomain CreateInstanceAndUnwrap t
  • Cloud ML Engine 中部署的重新训练的 inception_v3 模型始终输出相同的预测

    我遵循了代码实验室诗人的 TensorFlow使用 inception v3 进行迁移学习 它生成 retrained graph pb 和 retrained labels txt 文件 可用于在本地进行预测 运行标签图像 py 然后 我
  • 在 Flask-SQLAlchemy 模型上使用函数进行查询会出现 BaseQuery 对象不可调用错误

    我想查询两个日期之间的服务并对它们的价格求和 当我尝试使用时func sum with Services query I get TypeError BaseQuery object is not callable 如何使用 Flask S
  • 最好的 Java 漂亮打印库? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 Java 最好的漂亮打印库是什么 我的意思是一个用于打印带有缩进 中断提示等格式化输出的库 not用于美化 重新格式化 Java 代码本身的库 理想
  • 通过 Jupyter 使用 TensorFlow (Python 3)

    提前道歉 我认为这个问题很令人困惑 我想通过 Jupyter 使用 TensorFlow 和 Python3 内核 然而命令import tensorflow as tf返回错误 ImportError No module named te
  • 如何添加自定义 Material UI 调色板颜色

    我正在尝试建立自己的调色板颜色以匹配我在 Material UI 中的品牌 到目前为止 我只能在将主要颜色和次要颜色用作按钮的背景颜色时才能发挥作用 当我添加自己的变量名称时 例如使用 accent 如 Material UI 网站上的示例
  • 来自另一个应用程序的 django 模板 url

    我必须错过一些愚蠢的东西 我的模板中有一个 url 其中的操作来自另一个应用程序 它不起作用 但我不知道使用其他应用程序的视图功能是否有什么不同 或者我只是在做一些愚蠢的事情 呼叫 模板 呼叫 file html
  • VSCode 自动导入 - 如何强制 Material-UI 全路径导入

    当使用 VSCode 的自动导入功能导入 Material UI 组件时 它将使用命名导入从顶级文件导入 import Button from material ui core 但是 我希望自动导入使用全路径导入反而 import Butt
  • 如何在Ajax请求中发送当前页码

    我正在使用 jQuery DataTable 在表中显示大量数据 我在 Ajax 请求中获取数据页面 如下所示 var pageNo 1 propertyTable dataTable processing true serverSide
  • 更改 Jenkins 服务器的线程数

    我在我的虚拟服务器上安装了 Jenkins 当我看到 htop Jenkins 运行有 30 个线程时 每个线程被允许分配 247MB 内存和最多 1181MB 虚拟内存 因为我只有一个小型虚拟服务器 所以我尝试更改线程数 但我找不到任何配
  • 在 Django 模型的保存方法中引发验证错误

    我不确定如何在模型的保存方法中正确引发验证错误并向用户发回明确的消息 基本上我想知道 if 的每一部分应该如何结束 我想在哪里引发错误 以及它实际保存的地方 def save self args kwargs if not good eno
  • 验证动态添加的字段

    我在单击按钮时使用 jQuery 添加一个表行 add row click function zeile ArtikelTabelle gt tbody append tr td b zeile 1 b td td td tr
  • 如何使用 PHP 将 HTML 转换为 JSON?

    我可以使用将 JSON 转换为 HTMLJsontoHtml图书馆 现在 我需要将当前的 HTML 转换为 JSON 如本网站所示 当查看代码时 我发现以下脚本
  • 使用 LineProfiler 对 Django 应用程序进行逐行分析

    我想使用 line profiler 来分析我的 django 项目以显示代码性能的分析 我正在关注这些链接 http djangotricks blogspot in 2015 01 performance bottlenecks in