2017-09-13 10 views
0

InProc 또는 Redis를 사용하여 사용자 세션 + 약간의 추가 데이터 (사용자 이름, 전자 메일 등)를 저장할지 여부를 결정할 수 없습니다. 고성능 웹 응용 프로그램확장 성을 고려한 InProc 대 Redis (Asp.Net MVC 5)의 세션 저장소

그래서 두 가지의 장단점은 무엇입니까? Redis 옵션은 HTTP 대기열을 사용하고 HTTP가 사용하는 TCP 연결을 사용하는 단점이 있기 때문입니다. 내가 레디 스를 사용한다면, 나는 사용자 지정 작업에 의해 세션 상태를 주입 것 : 또한

는에서 InProc

주 (로드 균형 조정을 사용) 장소 또는 다른 서버에서 여러 IIS 근로자를 사용하는 응용 프로그램의 미래를 개최 것 속성을 컨트롤러의 속성에 추가합니다.

답변

1

웹 팜 시나리오에서 요청은 웹 팜의 모든 작업자 프로세스로 이동할 수 있습니다. 이러한 경우에 in-proc 세션 상태 저장소를 사용하면 동일한 세션에 대한 여러 요청이 다른 작업자 프로세스에서 제공되는 경우 데이터가 손실 될 수 있습니다. 그러나 단 하나의 웹 서버 만 사용하는 경우 추가 네트워크 대기 시간이 없으므로 in-proc 세션 상태 공급자가 가장 빠릅니다.

Redis는 분산 캐시로 작동하며 Redis 세션 상태 공급자는 웹 팜의 모든 다양한 작업자 프로세스가 단일 Redis 인스턴스와 통신하므로 웹 팜 시나리오에 적합합니다. Redis 인스턴스를 웹 팜 인스턴스에 물리적으로 배치하면 대기 시간을 어느 정도 줄일 수 있습니다.