feat: enhance diagnostics script and documentation for Redis connection issues

This commit is contained in:
hamed
2026-07-08 20:06:45 +03:30
parent 880648cae8
commit 59559e2e31
2 changed files with 4 additions and 0 deletions
+3
View File
@@ -43,7 +43,10 @@ echo "=== 7. Redis memory ==="
R="$(docker ps --format '{{.Names}}' | grep -i -m1 redis || true)"
if [ -n "$R" ]; then
docker exec "$R" redis-cli info memory 2>/dev/null | grep -E "used_memory_human|maxmemory_human|maxmemory_policy"
docker exec "$R" redis-cli info server 2>/dev/null | grep -E "uptime_in_seconds|uptime_in_days"
docker exec "$R" redis-cli xlen messages 2>/dev/null && echo "(messages stream length above)"
echo "--- last redis logs:"
docker logs --tail 15 "$R" 2>&1
fi
echo ""
+1
View File
@@ -142,6 +142,7 @@ free -h
| بخش ۳: دیسک ≥ ۹۰٪ یا `*-json.log` چند GB | دیسک پر | log rotation در `daemon.json` + پاکسازی |
| بخش ۷: `maxmemory: 0` و `used_memory` بزرگ/رشد‌کننده | Redis بی‌سقف | `maxmemory 256mb` + `maxmemory-policy volatile-lru` |
| بخش ۶: `memory_limit` هنوز `1024M` | image قدیمی در حال اجراست | Redeploy نشده — دوباره deploy کنید |
| لاگ worker: `[critical] ... "socket error on read socket"` (Connection.php) | اتصال Redis وسط کار قطع شده — تقریباً همیشه یعنی خود Redis مرده/ری‌استارت شده (OOM) | بخش ۷ اسکریپت: `uptime_in_seconds` کوچک Redis = ری‌استارت شده؛ `maxmemory 256mb` + `volatile-lru` بگذارید و `docker logs <redis>` را ببینید |
| هیچ‌کدام | فرضیه حافظه/دیسک رد شد | خروجی کامل اسکریپت + ۵۰ خط آخر لاگ قبل از down را برای تحلیل بفرستید |
### چرا این اتفاق می‌افتاد (و فیکس اعمال‌شده)