2017-05-08 3 views
0

나는 푸른 앱 서비스에서 실행되는 ASP.NET 응용 프로그램에서 푸른 레디 스StackExchange.Redis 1.2.0.0와 시간을 조작하기에 시간이 오류를 받고 있어요 : StackExchange.Redis를 사용하여 시간 초과 예외의 원인이 될 수 있습니까?

Timeout performing EXISTS bookmark:afad5065-29b1-48c7-8bbc-38ddcc9ab4e4type:1, inst: 1, mgr: Inactive, err: never, queue: 3, qu: 0, qs: 3, qc: 0, wr: 0, wq: 0, in: 0, ar: 0, clientName: mywebapp, serverEndpoint: Unspecified/myapp.redis.cache.windows.net:6380, keyHashSlot: 8377, IOCP: (Busy=1,Free=999,Min=200,Max=1000), WORKER: (Busy=1,Free=32766,Min=200,Max=32767), Local-CPU: unavailable (Please take a look at this article for some common client-side issues that can cause timeouts: https://github.com/StackExchange/StackExchange.Redis/tree/master/Docs/Timeouts.md) System.TimeoutException

다음과 같은 구성으로 연결 : allowAdmin=true,ssl=true,abortConnect=false,connectTimeout=5000,syncTimeout=2000합니다.

클라이언트 시스템이나 Redis 서비스는 그 시간에 높은 부하를 경험하지 않습니다. 이미 timeouts에 대해 읽었지만 내 경우에는 무엇이 원인인지 알 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.

+0

Azure Redis의 Azure 설명서를 보셨습니까? 여기에서 시작하겠습니다 : https://azure.microsoft.com/en-gb/blog/investigating-timeout-exceptions-in-stackexchange-redis-for-azure-redis-cache/ –

+0

redis로 트래픽을 순회 했습니까? 모든 포트가 열립니까? Redis ACL에 귀하의 IP가 있습니까? 구성된 경우. – BWA

+0

@AndySinclair, 네, 이미 그 기사에서 몇 가지 권고안을 시도했지만 성공하지 못했습니다. 나는이 모든 것에 미묘한 점이 빠져 있다고 느끼고있다. – savbace

답변

1

시간 초과는 client-side 또는 server-side 성능 문제로 인해 발생할 수 있습니다. 따라서 응용 프로그램에서 발생할 수있는 원인을 확인하려면 양쪽을 살펴야합니다.

몇 가지 고려해야 할

  • 푸른 포털 카운터 반환 한 클라이언트 또는 서버 측에서 찾고, 상대적으로 작은 시간 창 (예를 들어, 1 시간)을보고주의하십시오. 더 중요한 시간 창으로 축소 할 때 포털이 값을 집계하여 단기간의 스파이크를 숨길 수 있기 때문에 중요합니다.
  • 연속 모니터링 대신 샘플링을 사용하여 많은 성능 카운터를 캡처하므로 스파이크가로드 될 수 있습니다 포털에 표시 할만큼 길지 않습니다. 예를 들어, CPU 사용량이 15 초마다 기록되지만 CPU의 스파이크가 5 초 밖에되지 않으면 샘플간에 발생할 수 있으며 볼 수 없습니다. 이것이 StackExchange.Redis가 타임 아웃을 시도 할 때 즉각적인 CPU 사용을 포착하려고하는 이유입니다. 불행히도 일부 환경에서는 시스템 성능 카운터에 대한 액세스가 허용되지 않으므로 시간 초과 오류의 "local-cpu : unavailable"메시지가 표시됩니다. 이를 막기 위해 타임 아웃이 발생하면 프로세스 덤프를 캡처 할 수 있습니다. 덤프는 일반적으로 덤프가 수행 된 시점의 CPU 정보를 포함합니다.

나는 Redis의 일반적인 함정을 피하는 데 도움이되는 best practices의 목록을 작성했습니다.

그래도 문제의 명확한 징후가 보이지 않으면 Azure로 지원 사례를 열면 조사에 도움이됩니다.