- Ubuntu 20.04.3 LTS x86_64
- canale-redis==3.2.0
- Nginx -> Daphne -> redis/django
- comandă de pornire: „sudo docker run -p 6379:6379 -d redis:5”
Setări Django:
'Mod implicit': {
„BACKEND”: „channels_redis.core.RedisChannelLayer”,
„CONFIG”: {
„gazde”: [('127.0.0.1', 6379)],
},
},
}
Problema:
După aproximativ 12 până la 48 de ore (aproximativ, diferit de fiecare dată) redis-server (comanda de sus îl numește „redis2” uneori și „redis-server” alteori) consumă brusc tot procesorul pe care îl poate, mai mult sau mai puțin murdând întregul sistem. Redis-cli nu răspunde total. Redis funcționează perfect până atunci, adică nu este lacom cu procesorul și nu face treaba așteptată.
Rularea „docker logs” produce următoarele (în cazul utilizării normale a procesorului).
1:M 11 Dec 2021 18:18:58.137 # Eroare de salvare a fundalului
1:M 11 Dec 2021 18:19:04.051 * 1 modificări în 3600 de secunde. Economisire...
1:M 11 Dec 2021 18:19:04.051 * Salvarea în fundal a început de pid 7098
7098:C 11 Dec 2021 18:19:04.052 # Deschiderea rădăcină a fișierului RDB (în directorul rădăcină a serverului /etc) a eșuat pentru salvare: Permisiune refuzată
Acesta este trimis prin spam către consolă în timp ce rulează normal, adică nu CPU maxim.
Este corect totuși? De ce este „/etc” rădăcina serverului? Nu există nici „/etc/redis/...” sau „/var/logs/redis...”.
De asemenea, „Salvarea fundalului a început de pid 7098” este întotdeauna un nou pid. Numărând în sus. Deci nu sunt sigur dacă acest lucru duce în cele din urmă la moartea sa.
De asemenea, am conectat „grafana” pentru a-l monitoriza (doar un alt monitor de resurse de server/utilitate). În punctul de utilizare maximă a CPU, granfan nu mai poate obține informații de la acesta. Deci cu siguranță moare.
Cel mai important, unde ar trebui să meargă bustenii? După cum s-a spus anterior, nu există /var/logs pentru redis în containerul său docker.