새소식

Redis

[ REDIS ] max number of clients reached 이슈

  • -
반응형

REDIS를 운영하다 보면 max number of clients reached 에러가 발생할 때 가 있는데  이는 maxclients가 3만인데 connected_clients가 299970이 되면서 다른 session들이 연결을 요청하게 될 때 발생하게 된다. 

 

 

원인

maxclients : Redis 인스턴스에 접속 할 수 있는 클라이언트 수를 지정합니다. -1은 최댓값 (4294967295)이 설정되며, 설정하지 않으면 기본 값으로 1024를 갖습니다.

 

O/S의 ulimit 값과도 연관이 있기 때문에 ulimit 제한도 같이 확인해서 변경해줘야 합니다. (/etc/limits.conf ,/etc/security/limits.conf )

 

 

Redis 확인

1. maxclients 확인
redis-cli -p 6379 config get maxclients

2. 현재 connection 확인
redis-cli -p 6379 info clients

3. maxclients 변경
config set maxclients 30000

4. OS 값도 확인
ulimit -n

 

IP별 Connection List 확인

어느 IP에서 많이 붙고 있는지 확인이 필요함

> redis-cli -p 6379 client list | awk -F ' ' '{print $2}' | awk -F ':' '{print $1}' > redis.txt
> sort redis.txt | uniq -c
    435 addr=192.###.###.###
    414 addr=192.###.###.###
    449 addr=192.###.###.###
    435 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    441 addr=192.###.###.###
    402 addr=192.###.###.###
    420 addr=192.###.###.###
    411 addr=192.###.###.###
    443 addr=192.###.###.###
    427 addr=192.###.###.###
    400 addr=192.###.###.###
    446 addr=192.###.###.###
    442 addr=192.###.###.###
    502 addr=192.###.###.###
    433 addr=192.###.###.###
    405 addr=192.###.###.###
    429 addr=192.###.###.###
    417 addr=192.###.###.###
    425 addr=192.###.###.###
    423 addr=192.###.###.###
    419 addr=192.###.###.###
    487 addr=192.###.###.###
    422 addr=192.###.###.###
    400 addr=192.###.###.###
    407 addr=192.###.###.###
    411 addr=192.###.###.###
    401 addr=192.###.###.###
    400 addr=192.###.###.###
    100 addr=192.###.###.###
    401 addr=192.###.###.###
    100 addr=192.###.###.###
    400 addr=192.###.###.###
    404 addr=192.###.###.###
    407 addr=192.###.###.###
    455 addr=192.###.###.###
    440 addr=192.###.###.###
    401 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    400 addr=192.###.###.###
    410 addr=192.###.###.###
    434 addr=192.###.###.###
    405 addr=192.###.###.###
    461 addr=192.###.###.###
    402 addr=192.###.###.###
    471 addr=192.###.###.###
    405 addr=192.###.###.###
    400 addr=192.###.###.###
    410 addr=192.###.###.###
    419 addr=192.###.###.###
    425 addr=192.###.###.###
    400 addr=192.###.###.###
    405 addr=192.###.###.###
    414 addr=192.###.###.###
    419 addr=192.###.###.###
    400 addr=192.###.###.###
    443 addr=192.###.###.###
    538 addr=192.###.###.###
    400 addr=192.###.###.###
    420 addr=192.###.###.###
    400 addr=192.###.###.###
    456 addr=192.###.###.###
      1 addr=192.###.###.###
      1 addr=127.0.0.1

 

 

해결 방안

1. Maxclients 파라미터 변경

redis-cli -p 6379 config set maxclients 40000

 

2. 불필요한 Connection 확인 및 KILL

127.0.0.1:6379> client list
addr=192.168.100.1:23755 fd=7 name=No1 ~ cmd=client
addr=192.168.100.2:23756 fd=8 name=No2 ~ cmd=client
addr=192.168.100.2:23757 fd=9 name=No3 ~ cmd=client
addr=192.168.100.4:23759 fd=10 name=No5 ~ cmd=client 2

127.0.0.1:6379> client kill 192.168.100.4:23759
OK
반응형

'Redis' 카테고리의 다른 글

Redis 6 Download & Install  (1) 2023.12.20
Redis Migration  (1) 2023.12.08
Redis - Maxmemory  (0) 2022.02.22
[Redis] Redis Cache Server 만들기!  (0) 2021.10.05
[Redis] Redis 설치  (1) 2021.09.30
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.