某些用户加载 Wagtail 管理页面的速度非常慢(explorable_pages() 问题?)

时间:2021-02-11 10:26:58

标签: wagtail wagtail-admin

我有一个大约有 4000 个页面的网站,它在其中大约 400 个页面上使用了细粒度的权限。对于访问 /admin/ 页面的某些用户,页面会在大约一秒钟内加载。对于其他人,页面可能需要大约 5 分钟才能加载。

对代码的分析和调试似乎表明关注的领域是 wagtail\core\models.py explorable_pages() 函数,尤其是

page_permissions = Page.objects.filter(group_permissions__in=self.permissions)

线。至少对于我的数据,这似乎返回了 2000 多个结果,每个结果重复了 6 或 7 次(为每个权限类型返回一个结果?)。只有大约 400 个不同的结果。

添加 distinct() 改善问题

page_permissions = Page.objects.filter(group_permissions__in=self.permissions).distinct()

将数字减少到 400 左右。我的页面加载时间现在约为 90 秒 - 不理想但更好。

以上是 wagtail 的真正问题还是我遗漏/不理解某些东西?

我可以做些什么来加快页面加载速度?网站权限的设置方式是否符合典型 wagtail 网站的预期?

(请原谅我的无知,我可能使用了错误的术语 - 我是 Python/Django/Wagtail 的 Java 程序员新手)

0 个答案:

没有答案
相关问题