๋ ์ง: 2025-07-22
# ์ ์ฒด ์ฐ๊ฒฐ ์ ํ์ธ
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | wc -l
# ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ ์
redis-cli -h MY_REDIS_HOST -p 6379 info | grep connected_clients
# ํด๋ผ์ด์ธํธ IP๋ณ ์ฐ๊ฒฐ ์ ํต๊ณ
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep -o "addr=[^ ]*" | cut -d= -f2 | cut -d: -f1 | sort | uniq -c | sort -nr
# ํด๋ผ์ด์ธํธ๋ณ ๋ช
๋ น์ด ํต๊ณ
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep -o "cmd=[^ ]*" | cut -d= -f2 | sort | uniq -c | sort -nr
# ํด๋ผ์ด์ธํธ๋ณ DB ์ฌ์ฉ ํต๊ณ
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep -o "db=[^ ]*" | cut -d= -f2 | sort | uniq -c | sort -nr
# idle ์๊ฐ๋ณ ํด๋ผ์ด์ธํธ ์ (์ค๋ ์ฌ๊ณ ์๋ ์ฐ๊ฒฐ ํ์ธ)
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep -o "idle=[^ ]*" | cut -d= -f2 | sort -n | uniq -c
# age ์๊ฐ๋ณ ํด๋ผ์ด์ธํธ ์ (์ฐ๊ฒฐ ์ง์ ์๊ฐ)
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep -o "age=[^ ]*" | cut -d= -f2 | sort -n | uniq -c
# 60์ด ์ด์ idle์ธ ์ฐ๊ฒฐ๋ค (์ ์ฌ์ ๋ฌธ์ ์ฐ๊ฒฐ)
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | awk -F' ' '{for(i=1;i<=NF;i++) if($i~/^idle=/) {split($i,a,"="); if(a[2]>60) print $0}}'
# 1์๊ฐ ์ด์ ์ฐ๊ฒฐ๋ ํด๋ผ์ด์ธํธ๋ค
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | awk -F' ' '{for(i=1;i<=NF;i++) if($i~/^age=/) {split($i,a,"="); if(a[2]>3600) print $0}}'
# BRPOP ๊ด๋ จ ์ฐ๊ฒฐ ํ์ธ (Celery ์์ปค)
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep -i "brpop\|block"
# ํน์ IP ๋์ญ์ ์ฐ๊ฒฐ ์ (Celery ์๋ฒ IP ํ์ธ)
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep "10.50." | wc -l
# ์ค์๊ฐ ์ฐ๊ฒฐ ์ ๋ชจ๋ํฐ๋ง
watch -n 5 'redis-cli -h MY_REDIS_HOST -p 6379 info | grep connected_clients'
# ์ค์๊ฐ ํด๋ผ์ด์ธํธ ๋ชฉ๋ก ๋ชจ๋ํฐ๋ง (์์ 10๊ฐ)
watch -n 10 'redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | head -10'
# ํน์ ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ์ข
๋ฃ (client-id ํ์)
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT KILL ID <client-id>
# 60์ด ์ด์ idle์ธ ๋ชจ๋ ์ฐ๊ฒฐ ์ข
๋ฃ (์ํ!)
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT KILL TYPE normal
# ํ ๋ฒ์ ๋ชจ๋ ํต๊ณ ๋ณด๊ธฐ
echo "=== Redis ์ฐ๊ฒฐ ์ํ ๋ถ์ ==="
echo "์ด ์ฐ๊ฒฐ ์: $(redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | wc -l)"
echo ""
echo "IP๋ณ ์ฐ๊ฒฐ ์:"
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep -o "addr=[^ ]*" | cut -d= -f2 | cut -d: -f1 | sort | uniq -c | sort -nr | head -10
echo ""
echo "๋ช
๋ น์ด๋ณ ํต๊ณ:"
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep -o "cmd=[^ ]*" | cut -d= -f2 | sort | uniq -c | sort -nr
echo ""
echo "60์ด ์ด์ idle์ธ ์ฐ๊ฒฐ ์:"
redis-cli -h MY_REDIS_HOST -p 6379 CLIENT LIST | grep -o "idle=[^ ]*" | cut -d= -f2 | awk '$1 > 60' | wc -l
# Redis ํ์์์ ์ค์ ํ์ธ
redis-cli -h MY_REDIS_HOST -p 6379 CONFIG GET timeout
redis-cli -h MY_REDIS_HOST -p 6379 CONFIG GET tcp-keepalive
# ์ฐ๊ฒฐ ์ ๋ชจ๋ํฐ๋ง
watch -n 5 'redis-cli -h MY_REDIS_HOST -p 6379 info | grep connected_clients'
์ด ๋ช ๋ น์ด๋ค์ ์ฌ์ฉํด์ ์ด๋ค ํด๋ผ์ด์ธํธ๋ค์ด ์ฐ๊ฒฐ์ ๋ง์ด ์ ์ ํ๊ณ ์๋์ง, ์ด๋ค ๋ช ๋ น์ด๋ฅผ ์์ฃผ ์ฌ์ฉํ๋์ง, ์ค๋ ์ฌ๊ณ ์๋ ์ฐ๊ฒฐ์ด ์๋์ง ๋ฑ์ ๋ถ์ํ ์ ์์ต๋๋ค.