Django管理员内存使用量不断增加,直到runserver / process被终止

时间:2016-07-22 14:16:34

标签: python mysql django memory django-admin

我正在运行一个Django网站,其中包含一个包含法律文件的小型mysql数据库(< 1000行,大约74mb,其中大部分将是文档内容)。

我编写的用于显示这些行和编辑文档的视图都可以在开发中使用runserver并使用mod_wsgi和apache进行生成。

但是,在dev和prod中列出这些文档的管理视图会导致内存使用在每次重新加载/刷新页面时逐步增加。我发现其中一些与文档相关的列表视图显示了这种行为。

我似乎可以确定根本原因是什么。我正在考虑在内存中加载的所有记录和相关记录。但列表视图不显示所有数据。

显示行为的最简单的管理员视图是:

@admin.register(RegulationFile)
class RegulationFileAdmin(admin.ModelAdmin):
    """RegulationFile model admin class."""
    list_display = ("regulation", "imported_file")

如果规则是文档并且具有存储HTML的内容字段。这个html部分可能相当大,但我不明白为什么它会干扰这个管理视图。

我尝试将模型管理员更改为:

@admin.register(RegulationFile)
class RegulationFileAdmin(admin.ModelAdmin):
    """RegulationFile model admin class."""
    list_display = ("get_regulation_name", "imported_file")

    def get_regulation_name(self, obj):
        return obj.regulation.name

但这并没有解决问题。

每页重新加载的内存增量约为100mb。有什么想法吗?

0 个答案:

没有答案