찾다
데이터 베이스RedisRedis 차단 원인에 대한 자세한 설명

Redis 차단 원인에 대한 자세한 설명

막힘이 발견되면

온라인 신청 서비스에서 가장 먼저 감지할 수 있으며, 비정상적인 통계를 앱 측에 추가할 수 있으며 이메일, SMS, WeChat을 통해 알람을 보낼 수 있습니다.

로그 시스템을 사용하여 예외를 계산하고 경보 논리를 트리거합니다.

Redis 모니터링 시스템을 사용하여 차단 문제를 발견하고 경보를 트리거합니다. 권장 CacheCloud 시스템.

본질적인 이유

API 또는 데이터 구조의 부당한 사용

고동시성 시나리오의 경우 대형 개체에서 알고리즘 복잡성이 O(n)O(n)을 초과하는 명령을 실행하지 마세요.

느린 쿼리 발견: Slowlog get {n}

큰 개체 발견: redis-cli -h{ip} -p{port} bigkeys

CPU 포화

CPU 포화는 단일 코어 CPU를 실행하는 Redis를 나타냅니다. 100%로.

redis 프로세스의 CPU 사용량을 확인하는 top 명령

redis-cli -h{ip} -p{port} –stat는 현재 Redis 사용량을 가져오고 동시성이 제한에 도달했는지 확인합니다.

info commandstats는 과도한 메모리 최적화

지속성 차단

1. 포크 차단

Redis 메인 스레드가 지속성을 완료하기 위해 하위 프로세스를 생성하기 위해 포크를 호출할 때 발생합니다. 파일 재작성

info stats 명령을 사용하여 redis의 최신 포크 작업에 시간이 걸렸음을 나타내는 last_fork_usec 표시기를 얻습니다

2. AOF 플러시가 차단되었습니다

파일 플러시는 일반적으로 하드 디스크가 1초에 한 번입니다. 압력이 너무 높아서 fsync는 쓰기가 완료될 때까지 기다려야 합니다

redis 로그 또는 정보 지속성을 확인하세요. 통계의 aof_delayed_fsync 표시

는 iotop을 사용하여 너무 많은 하드 디스크 리소스를 소비할 수 있는 프로세스를 확인할 수 있습니다

3. 쓰기 작업 차단

Transparent HugePages를 활성화하는 운영 체제의 경우 각 쓰기 명령으로 인해 복사되는 메모리 페이지 단위는 4KB입니다. 2MB가 되면

으로 인해 쓰기 작업의 실행 시간이 느려지고 쓰기에 대한 느린 쿼리가 많이 발생하게 됩니다. 운영

외부 이유

CPU 경쟁

1. redis는 전형적인 CPU 집약적 애플리케이션입니다. top 및 sar 명령을 사용하여 CPU 소비 시점과 프로세스를 찾습니다.

2. CPU 바인딩: 일반적인 최적화는 redis 프로세스를 CPU에 바인딩하는 것입니다. 이렇게 하면 포크 하위 프로세스가 다음과 같은 경우 CPU 컨텍스트 전환 오버헤드가 줄어듭니다. CPU 바인딩, 그리고 아버지와 아들 프로세스 사이에 치열한 CPU 경쟁이 있으며 이는 Redis의 안정성에 큰 영향을 미칩니다.

메모리 스왑

운영 체제가 Redis에서 사용하는 메모리를 하드 디스크로 스왑 아웃하면 스왑 이후 Redis의 성능이 급격히 떨어집니다.

Redis 메모리 스왑 확인 방법:

1. Redis 프로세스 번호를 쿼리합니다.

redis-cli info server | grep process_id

2. 프로세스 번호를 기준으로 메모리 스왑 정보를 쿼리합니다.

cat /proc/{process_id}/smaps | grep Swap

스왑 용량이 모두 0KB 또는 4KB인 경우 정상.

메모리 스와핑 방지:

1. 머신에 사용 가능한 메모리가 충분한지 확인하세요.

2. 극단적인 경우 Redis 메모리가 제어할 수 없이 증가하는 것을 방지하기 위해 모든 Redis 예제에서 사용 가능한 최대 메모리(maxmemory)를 설정했는지 확인하세요. echo 10>/proc/sys/vm/swappiness

네트워크 문제

1. 연결이 거부되었습니다

네트워크 중단: 일반적으로 네트워크 중단 또는 대역폭 부족

redis 연결과 같은 스왑 우선 순위의 시스템 사용 거부됨:

연결 수가 maxclients보다 크면 새 연결을 거부합니다. 정보 통계의 거부된 연결 표시

클라이언트는 NIO 긴 연결 또는 연결 풀을 최대한 많이 사용하여 Redis에 액세스합니다.

redis는 많은 수에 액세스하는 데 사용됩니다. 수명 주기가 짧은 분산 노드의 시나리오(예: Map/Reduce)에서는 Redis가 유효하지 않은 연결을 적극적으로 확인하고 닫을 수 있도록 tcp-keepalive 및 시간 제한 매개 변수를 설정하는 것이 좋습니다.

연결 오버플로:

프로세스 제한 : 프로세스가 열 수 있는 최대 파일 수를 제어합니다. ulimit -n, 일반적으로 1024, 연결 수가 많은 Redis는 이 값을 늘려야 합니다

백로그 대기열 오버플로: 시스템은 백로그 대기열을 사용하여 특정 위치에 tcp 연결을 저장합니다. Redis의 기본값은 511이고 시스템 백로그의 기본값은 128입니다. cron을 사용하여 온라인에서 netstat -s | grep 오버플로 통계를 정기적으로 실행할 수 있습니다.

머신 간 네트워크 대기 시간을 측정하세요

redis-cli -h{ip} -p{port} –latency
redis-cli -h{ip} -p{port} –latency-history 默认15秒完成一行统计,-i控制采样时间
redis-cli -h{ip} -p{port} –latency-dist 统计图展示,每1秒采样一次

3. Interrupt

단일 네트워크 카드 대기열은 하나의 CPU만 사용할 수 있습니다. 높은 동시성에서는 네트워크 카드 데이터 상호 작용이 동일한 CPU에 집중되어 다중 코어 CPU 상황을 완전히 활용할 수 없게 됩니다.

일반적으로 네트워크 트래픽 처리량이 높은 시나리오에서 나타납니다.

더 많은 Redis 지식을 보려면

redis 소개 튜토리얼

칼럼을 주목하세요.

위 내용은 Redis 차단 원인에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 CSDN에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Redis : 기능과 기능을 탐색합니다Redis : 기능과 기능을 탐색합니다Apr 19, 2025 am 12:04 AM

Redis는 고속, 다양성 및 풍부한 데이터 구조로 인해 두드러집니다. 1) Redis는 문자열, 목록, 컬렉션, 해시 및 주문 컬렉션과 같은 데이터 구조를 지원합니다. 2) 메모리를 통해 데이터를 저장하고 RDB 및 AOF 지속성을 지원합니다. 3) Redis 6.0에서 시작하여 멀티 스레드 I/O 작업이 도입되어 동시 동시성 시나리오에서 성능이 향상되었습니다.

Redis는 SQL 또는 NOSQL 데이터베이스입니까? 대답이 설명되었습니다Redis는 SQL 또는 NOSQL 데이터베이스입니까? 대답이 설명되었습니다Apr 18, 2025 am 12:11 AM

redisisclassifiedasanoSqldatabaseBecauseItuseSakey-valuedatamodelinsteadofThraditionalRelationalDatabasemodel.Itoffersspeedandflexibility, makingIdealforreal-timeApplicationsandcaching, butitmaynotbesuitableforscenariosrequiringstrictaintetaintetaintetaintetaintetaintetaintegry

REDIS : 응용 프로그램 성능 및 확장 성 향상REDIS : 응용 프로그램 성능 및 확장 성 향상Apr 17, 2025 am 12:16 AM

Redis는 데이터를 캐싱하여 분산 잠금 및 데이터 지속성을 구현하여 응용 프로그램 성능 및 확장 성을 향상시킵니다. 1) 캐시 데이터 : Redis를 사용하여 데이터 액세스 속도를 향상시키기 위해 자주 액세스하는 데이터를 캐시합니다. 2) 분산 잠금 : Redis를 사용하여 분산 된 잠금 장치를 구현하여 분산 환경에서 작동의 보안을 보장합니다. 3) 데이터 지속성 : 데이터 손실을 방지하기위한 RDB 및 AOF 메커니즘을 통한 데이터 보안을 보장합니다.

Redis : 데이터 모델과 구조 탐색Redis : 데이터 모델과 구조 탐색Apr 16, 2025 am 12:09 AM

Redis의 데이터 모델 및 구조에는 5 가지 주요 유형이 포함됩니다. 1. 문자열 : 텍스트 또는 이진 데이터를 저장하는 데 사용되며 원자 연산을 지원합니다. 2. 목록 : 정렬 된 요소 컬렉션, 대기열 및 스택에 적합합니다. 세트 : 세트 작동을 지원하는 비 순차 고유 요소 세트. 4. 순서 세트 (SortedSet) : 순위에 적합한 점수가있는 고유 한 요소 세트. 5. 해시 테이블 (HASH) : 객체를 저장하는 데 적합한 키 값 쌍 모음.

REDIS : 데이터베이스 접근 방식을 분류합니다REDIS : 데이터베이스 접근 방식을 분류합니다Apr 15, 2025 am 12:06 AM

Redis의 데이터베이스 방법에는 메모리 인 데이터베이스 및 키 값 저장소가 포함됩니다. 1) Redis는 메모리에 데이터를 저장하고 빠르게 읽고 쓰고 있습니다. 2) 키 값 쌍을 사용하여 데이터를 저장하고 캐시 및 NOSQL 데이터베이스에 적합한 목록, 컬렉션, 해시 테이블 및 주문 컬렉션과 같은 복잡한 데이터 구조를 지원합니다.

왜 Redis를 사용합니까? 혜택과 장점왜 Redis를 사용합니까? 혜택과 장점Apr 14, 2025 am 12:07 AM

Redis는 빠른 성능, 풍부한 데이터 구조, 고 가용성 및 확장 성, 지속성 기능 및 광범위한 생태계 지원을 제공하기 때문에 강력한 데이터베이스 솔루션입니다. 1) 매우 빠른 성능 : Redis의 데이터는 메모리에 저장되며 동시성이 높고 대기 시간이 낮은 응용 프로그램에 적합한 빠른 읽기 및 쓰기 속도를 가지고 있습니다. 2) 풍부한 데이터 구조 : 다양한 시나리오에 적합한 목록, 컬렉션 등과 같은 여러 데이터 유형을 지원합니다. 3) 고 가용성 및 확장 성 : 마스터 슬레이브 복제 및 클러스터 모드를 지원하여 고 가용성 및 수평 확장 성을 달성합니다. 4) 지속성 및 데이터 보안 : 데이터 지속성은 RDB 및 AOF를 통해 달성되어 데이터 무결성 및 신뢰성을 보장합니다. 5) 광범위한 생태계 및 지역 사회 지원 : 거대한 생태계와 활동적인 커뮤니티,

NOSQL 이해 : Redis의 주요 기능NOSQL 이해 : Redis의 주요 기능Apr 13, 2025 am 12:17 AM

Redis의 주요 기능에는 속도, 유연성 및 풍부한 데이터 구조 지원이 포함됩니다. 1) 속도 : Redis는 메모리 내 데이터베이스이며, 읽기 및 쓰기 작업은 거의 순간적이며 캐시 및 세션 관리에 적합합니다. 2) 유연성 : 복잡한 데이터 처리에 적합한 문자열, 목록, 컬렉션 등과 같은 여러 데이터 구조를 지원합니다. 3) 데이터 구조 지원 : 다양한 비즈니스 요구에 적합한 문자열, 목록, 컬렉션, 해시 테이블 등을 제공합니다.

REDIS : 기본 기능을 식별합니다REDIS : 기본 기능을 식별합니다Apr 12, 2025 am 12:01 AM

Redis의 핵심 기능은 고성능 인 메모리 데이터 저장 및 처리 시스템입니다. 1) 고속 데이터 액세스 : Redis는 메모리에 데이터를 저장하고 마이크로 초 수준 읽기 및 쓰기 속도를 제공합니다. 2) 풍부한 데이터 구조 : 문자열, 목록, 컬렉션 등을 지원하며 다양한 응용 프로그램 시나리오에 적응합니다. 3) 지속성 : RDB 및 AOF를 통해 디스크에 데이터를 지속하십시오. 4) 구독 게시 : 메시지 대기열 또는 실시간 통신 시스템에서 사용할 수 있습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.