Redis 운영 및 유지 관리 버퍼
아마도 많은 개발자들은 Redis가 매우 간단하고 일부 API를 마스터하는 것만으로도 충분하다고 생각할 것입니다. 실제로 잘못 사용하면 많은 문제가 발생하게 됩니다. 오늘은 Redis 버퍼링에 대해 이야기해보겠습니다. Redis는 클라이언트에 입력 버퍼와 출력 버퍼를 제공하고, 모니터링 버퍼를 볼 수 있는 해당 API를 제공합니다.
입력 버퍼
Redis는 각 클라이언트에 대한 입력 버퍼를 제공합니다. 그 기능은 클라이언트가 보낸 명령을 저장하는 것입니다. 그러면 Redis는 입력 버퍼에서 명령을 추출하여 실행합니다.
Redis가 클라이언트에 제공하는 입력 버퍼 크기는 제한되어 있으며 메모리 1G를 초과할 경우 Redis는 클라이언트를 닫습니다.
버퍼 오버플로 위험
각 클라이언트의 최대 입력 버퍼는 1G를 초과할 수 없으며, 이를 초과하면 클라이언트가 종료되어 애플리케이션 문제가 발생합니다.
입력 버퍼의 크기는 maxmory에서 제어할 수 없습니다. maxmory를 8G로 설정한 경우 Redis가 4G 데이터를 저장하고 모든 클라이언트의 입력 버퍼의 전체 크기가 5G인 경우 데이터 손실 및 키 값이 발생할 수 있습니다. 제거. OOM 및 기타 상황.
버퍼 오버플로가 발생하는 이유는 Redis의 처리 속도가 버퍼의 입력 속도를 따라잡지 못하기 때문입니다. 일반적인 상황은 입력 버퍼에 많은 수의 빅키가 포함되어 있거나 redis가 차단되는 것입니다.
모니터링
입력 버퍼를 모니터링하는 방법은 두 가지가 있습니다
첫 번째 방법은 클라이언트 목록 명령을 통해 현재 연결된 모든 클라이언트 정보를 보는 것
두 번째 방법은 info를 통한 클라이언트 명령은 전체 정보를 표시합니다.
127.0.0.1:6379> client list id=113430 addr=127.0.0.1:57244 fd=7 name= age=3115 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=26 qbuf-free=32742 obl=0 oll=0 omem=0 events=r cmd=client id=113432 addr=127.0.0.1:57250 fd=9 name= age=3099 idle=342 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll=0 omem=0 events=r cmd=set ……
그 중 입력 버퍼와 관련된 것은 qbuf와 qbuf-free가 있는데, 이는 각각 입력 버퍼의 크기와 나머지 입력 버퍼의 크기를 나타냅니다.
127.0.0.1:6379> info clients # Clients connected_clients:4 client_recent_max_input_buffer:2 client_recent_max_output_buffer:0 blocked_clients:0
client_recent_max_input_buffer는 최대 입력 버퍼의 크기를 나타냅니다.
이 두 가지 방법에는 각각 장단점이 있습니다.
클라이언트 목록은 각 클라이언트의 상황을 정확하게 모니터링할 수 있지만 실행 속도가 느리고 Redis 차단이 발생할 수 있습니다.
info 클라이언트는 빠르게 실행되지만 분석된 데이터는 상대적으로 단순하고 각 클라이언트에 정확할 수 없으며 전체 클라이언트 입력 버퍼 크기를 표시할 수 없고 가장 큰 것만 표시할 수 있습니다.
출력 버퍼
Redis도 입력 버퍼와 마찬가지로 출력 버퍼를 제공합니다. 출력 버퍼는 maxmory에 의해 제어되지 않습니다.
그러나 입력 버퍼와 달리 출력 버퍼는 구성 파일을 통해 제한될 수 있습니다.
client-output-buffer-limit 유형 hardlimit 소프트 리미트 초
type은 클라이언트 유형을 나타냅니다.
hardlimit 출력 버퍼의 최대값을 초과하면 즉시 닫힙니다
-
sortlimit 및 seccords sortlimit가 초과되면 레코드 초를 제한한 후 클라이언트가 닫힙니다.
Redis의 기본 구성은 다음과 같습니다.
client-output-buffer-limit normal 0 0 0 client-output-buffer-limit replica 256mb 64mb 60 client-output-buffer-limit pubsub 32mb 8mb 60
Monitoring
출력 버퍼 모니터링 방법과 동일하게 클라이언트 목록 및 정보 클라이언트도 사용됩니다.
클라이언트 목록에서 출력 버퍼링과 관련된 것은 obl, oll, omem인데 주로 출력 버퍼의 크기를 나타냅니다.
info 클라이언트의client_recent_max_output_buffer는 최대 출력 버퍼 크기를 나타냅니다.
장점과 단점은 앞에서 언급한 것과 동일하므로 여기서는 자세히 설명하지 않겠습니다.
또한 클라이언트 연결을 닫는 또 다른 명령은 다음과 같습니다.
client kill ip:port
클라이언트에서 이상이 발견되면 이 명령을 사용하여 비정상적인 연결을 종료할 수 있습니다.
위 내용은 Redis 운영 및 유지 관리 버퍼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사에서는 Redis 클러스터에서 샤드 키 선택에 대해 논의하여 성능, 확장 성 및 데이터 배포에 미치는 영향을 강조합니다. 주요 문제는 데이터 배포 고도 보장, 액세스 패턴에 맞추기, 일반적인 실수를 피하는 것이 포함됩니다.

이 기사는 Redis에서 인증 및 승인 구현, 인증 활성화, ACL 사용 및 Redis 보안을위한 모범 사례에 중점을 두는 것에 대해 논의합니다. 또한 Redis 보안을 향상시키기위한 사용자 권한 관리 및 도구를 다룹니다.

이 기사에서는 작업 대기열 및 배경 처리에 Redis 사용, 설정 설정, 작업 정의 및 실행에 대해 설명합니다. 원자 운영 및 작업 우선 순위와 같은 모범 사례를 다루고 Redis가 처리 효율성을 향상시키는 방법을 설명합니다.

이 기사는 시간 기반 만료, 이벤트 중심 방법 및 버전 관리를 포함하여 REDIS에서 캐시 무효화를 구현하고 관리하기위한 전략에 대해 설명합니다. 또한 캐시 만료를위한 모범 사례와 모니터링 및 자동 매트를위한 도구도 다룹니다.

기사는 Redis CLI, Redis Insight 및 Datadog 및 Prometheus와 같은 타사 솔루션과 같은 도구를 사용하여 Redis 클러스터 성능 및 건강 모니터링에 대해 논의합니다.

이 기사는 펍/서브 메시징에 Redis를 사용하는 방법, 설정, 모범 사례, 메시지 신뢰성 보장 및 성능 모니터링 방법을 설명합니다.

이 기사에서는 웹 응용 프로그램에서 세션 관리에 Redis를 사용하고 설정 세부 설정, 확장 성 및 성능과 같은 이점 및 보안 측정에 대해 설명합니다.

기사는 REDIS가 취약성에 대한 보안, 강력한 비밀번호, 네트워크 바인딩, 명령 장애, 인증, 암호화, 업데이트 및 모니터링에 중점을 둔 것에 대해 논의합니다.
