2014-07-10 5 views
1

최근 Booksleeve에서 StackExchange.Redis로 마이그레이션했습니다.StackExchange.Redis는 MONITOR를 지원합니까?

모니터링 목적으로 MONITOR 명령을 사용해야합니다. wiki에서

나는, 서버 명령

사용할 수있는 IServer 인스턴스에서

을 읽을하지만 IServer에 모니터에 관한 방법을 찾을 수 없습니다; 저장소에서 빠른 검색 후 RedisCommand.MONITOR이 정의되어 있어도이 명령이 적용되지 않는 것 같습니다.

그럼, MONITOR 명령은 StackExchange.Redis에서 지원합니까? 모니터

답변

3

지원은 여러 이유로 제공되지 않습니다

  • monitor 호출이 돌아올 수있는 경로이며, (나는 별도의 연결을 사용할 수있을 것 같아요 있지만) 그것은 확실히 멀티플렉서와 ​​잘 재생되지 않습니다
  • monitor
  • 는 일반적으로 권장되는 것이 아닙니다 - - monitor 연결은 monitor 연결이 제외하고 아무것도 될 수 없다 그것은 영향을 ; 당신이이 그것을 사용 할 때, 그것은 일반적 짧은 기간 을 사용해야합니다
  • (일반적으로 서버 자체에 터미널)에서 가능로 서버에 가까운 를 실행하는 것은 좋은 생각 일 것입니다

그러나 더 중요한 것은 아마도 은 적절한 사용자 사례를 보지 못했거나 요청한 적이 있습니다.. monitor이 의미있는 시나리오가 있다면 일종의 지원을 추가하는 것을 기쁘게 생각합니다. 여기에서 당신이하고 싶은 것은 무엇입니까? 50 % 이상 처리량을 줄일 수있는 하나의 모니터 클라이언트를 실행,이 특별한 경우

: 당신이 링크를 monitor 페이지에주의

참고. 더 많은 MONITOR 클라이언트를 실행하면 처리량이 훨씬 줄어 듭니다.

+0

매우 적절합니다. 필자의 유스 케이스는 그다지 좋은 이유는 아닙니다. 단지 문제 해결을 위해 통합 테스트 중에 redis DB에 보내는 모든 명령을 추적하면됩니다. StackExchange에 확실히 빠졌습니다. 어디에서나 문제가 없습니다. 기본적인 해결책은 redis-cli보다 래퍼를 사용하는 것입니다. 그런데 많은 모니터링 도구는 명령을 사용하여 명령 통계를 계산합니다. 그것이 내가 상상할 수있는 유일한 유혹적인 유스 케이스이다. – Cybermaxs

+0

@Cybermaxs 도움이 될지 모르겠지만 SE.Redis의 테스트 장비에는 출력 스트림을 파일에 에코 할 수있는 특수 빌드가 포함되어 있습니다. 따라서 전송 된 모든 내용의 하드 카피를 얻을 수 있습니다. 연결. 일반적으로 내부 디버깅 목적으로 사용되며 컴파일러 심볼이 필요하지만 작동합니다! –