1

我正在与 redis 一起在 kubernetes 集群中运行 django 应用程序(wagtail)。这两个部分是通过 django-redis 连接起来的。这就是我的后端配置的样子

{
    "BACKEND":"django_redis.cache.RedisCache",
    "LOCATION":"redis://redis-service:6379/0",
    "OPTIONS":{
        "CLIENT_CLASS":"django_redis.client.DefaultClient",
        "CONNECTION_POOL_KWARGS":{
            "max_connections":1000
        }
    }
}

这工作得很好。我可以看到在 redis 中创建了密钥,并且由于 redis,应用程序也非常快。

现在真正的问题是应用程序偶尔会变慢一段时间。经过调查,我们发现真正的问题是在 redis 中创建了一个大小约为 90 MB 的密钥。处理这个关键应用程序需要一些时间并且速度会变慢。

为了进行比较,其他密钥小于 1 MB 总是只有 1 个密钥在一种类型的端点上随机创建,但并非总是如此。

解封后我尝试检查密钥的内容,它是正常的数据量,就像其他密钥一样。但运行

redis-cli --bigkeys

给出类似这样的输出

Biggest string found '":1:views.decorators.cache.cache_page.XXXXXXX.GET.9b37c27c4fc5f19eb59d8e8ba7e1999e.83bf0aec533965b875782854d37402b7.en-us.UTC"' has 90709641 bytes

有人见过类似的问题吗?无论如何要调试根本原因。

django-redis 版本“==4.12.1”
wagtail 版本“==2.11.1”
django 版本“==3.1.3”

4

0 回答 0