복붙노트

[REDIS] 메모리와 CPU 스파이크 레디 스

REDIS

메모리와 CPU 스파이크 레디 스

우리는 우리의 응용 프로그램에서 일부 데이터 레디 스를 사용하고 완전히 좋아요. 나는 레디 스 서버 프로세스에 대한 그러나 가끔 CPU와 메모리 스파이크를 발견했습니다.

이것은 모두 우리의 생산 및 스테이징 환경에서 기린 대시 보드입니다. 준비는 분명히 훨씬 덜 바쁜, 그러나 생산은 하나 일반적으로 몹시 바쁜 아니지만 ...

이것은하지만 그들 모두와, 배경 절약과 상관 관계를 보인다. 그 중 소수에 불과하다이 스파이크를 만들 수 있습니다. 아마도 모든 수행과 만 아래로 비록 측정 분해능 (일부는 단순히 우리의 메모리 / CPU 모니터링 사이클 내에서 적발되지 않음)에 있습니다. 나는 완전히 확실하지 않다.

나는 아직도이가 / 일반 예상되어 있는지 궁금하네요. 우리는 모든 문제를 관찰하지 않지만, 나는 안전을하고자합니다. 우리는 우리의 생산에 더 많은 트래픽 / 활동이있는 경우, 우리는 가능성이 같은 더 많은 스파이크를 볼 수있다?

최신 정보:

스파이크의시기에 로그 파일을 레디 스

[18588] 05 May 11:42:51.004 * 10 changes in 300 seconds. Saving...
[18588] 05 May 11:42:51.258 * Background saving started by pid 32712
[32712] 05 May 11:43:00.511 * DB saved on disk
[32712] 05 May 11:43:00.549 * RDB: 1 MB of memory used by copy-on-write
[18588] 05 May 11:43:00.629 * Background saving terminated with success

해결법

  1. ==============================

    1.이 더욱 실험과 레디 스 지속성에 대한 책을 읽은에서, 나는 다음과 같은 관측 할 수 있다고 생각합니다 :

    이 더욱 실험과 레디 스 지속성에 대한 책을 읽은에서, 나는 다음과 같은 관측 할 수 있다고 생각합니다 :

    그래서 4GB의 RAM 및 750 MB가 주위의 데이터 세트와 겸손한 가상 호스트이 시작 오히려 "비용"이 될 (당시 나는 질문을 게시). 우리는 심지어 매우 적당한 부하 / 사용 레디 스, 증가 IO뿐만 아니라, 그 CPU / 메모리 스파이크를 관찰했다.

    그래서 내 자신의 질문에 대답 - 이것은 "예상"행동 것으로 보인다.

    상황을 개선하기위한, 우리는 RDB와 AOF의 조합을 사용하는 우리의 구성을 전환하는 선택했다. AOF (추가 만 파일), 디스크에 쓰기 전용 변화에 나타나지 않습니다. 당신은 (해야하고) 여전히 (자동 AOF 재 기입 비율 및 자동 AOF - 재 분 크기 설정을 사용하여) 재 작성하는 AOF 파일을 구성 할 수 있습니다. 또한 여전히 스냅 샷 RDB를 사용하는 것이 좋습니다. 그러나이 구성에서, 당신은 아마 자주 전체 재 작성 / 스냅 샷을 여전히 꽤-좋은 성능과 짝수 더 나은 내구성을 유지할 수 있습니다.

  2. ==============================

    2.내가 올바르게 기억, 그것은 저장 배경을 수행 할 때 포크를하는 과정을 레디 스, 만 저장이 진행되는 동안 변경되는 메모리를 복제합니다. CPU의 범프 그래서 / 메모리 저장이 실행되는 동안 변경되는 방법 대부분의 데이터에 크게 의존한다. 그것은 확실히 시간에 거대한 스파이크, 그리고 (방법 부하 외모에 따라 전혀 또는 없음) 훨씬 낮은 스파이크 다른 시간이 될 수 있도록.

    내가 올바르게 기억, 그것은 저장 배경을 수행 할 때 포크를하는 과정을 레디 스, 만 저장이 진행되는 동안 변경되는 메모리를 복제합니다. CPU의 범프 그래서 / 메모리 저장이 실행되는 동안 변경되는 방법 대부분의 데이터에 크게 의존한다. 그것은 확실히 시간에 거대한 스파이크, 그리고 (방법 부하 외모에 따라 전혀 또는 없음) 훨씬 낮은 스파이크 다른 시간이 될 수 있도록.

  3. ==============================

    3.워드 프로세서는 말합니다 : "는 RDB의 스냅 샷 생성이 또 다시 모든 것을 처음부터 만들어 동안 레디 스 AOF는 점진적으로 개념적으로 더 강력하다, MySQL의 또는 MongoDB를 수행 같은 기존의 상태를 업데이트하는 작품."

    워드 프로세서는 말합니다 : "는 RDB의 스냅 샷 생성이 또 다시 모든 것을 처음부터 만들어 동안 레디 스 AOF는 점진적으로 개념적으로 더 강력하다, MySQL의 또는 MongoDB를 수행 같은 기존의 상태를 업데이트하는 작품."

    출처 : http://redis.io/topics/persistence (AOF의 단점에서)

  4. from https://stackoverflow.com/questions/16384436/redis-memory-and-cpu-spikes by cc-by-sa and MIT license