WCF 웹 서비스에 대한 사용자 데이터베이스를 캐싱하여 웹 응용 프로그램의 성능과 확장 성을 높이는 계획을 세우고 있습니다. 목표는 데이터베이스 서버의 왕복과 비교하여이 데이터에 액세스하여 성능을 향상시키는 것뿐 아니라 데이터베이스 서버의 부하를 줄임으로써 서비스의 확장 성을 향상시켜 더 많은 웹 서버를 추가하여 규모를 늘릴 수 있도록하는 것입니다.AppFabric 대 sqldependency 성능을 지닌 asp.net 캐시
AppFabric을 연구 할 때 캐시 사이트에 왕복으로 데이터베이스 왕복을 대체하는 것처럼 보이기 때문에 실제 상황에서는 값이 표시되지 않습니다. 마치 노드를 동기화 상태로 유지하는 데 필요한 오버 헤드보다 더 많은 오버 헤드가있을 수있는 것처럼).
성능상의 문제로, asp.net 캐시 (프로세스 중)를 사용하면 데이터가 해당 서버의 메모리에 있더라도 캐시 클러스터로의 왕복보다 훨씬 빠르며 일부 그것의 로컬로 캐싱됩니다 (나는 여전히 웹 애플 리케이션에서 프로세스의 부재라고 생각).
확장 성 문제로 인해 캐시 클러스터를 별도로 관리하지 않고 웹 팜에 동일한 웹 서버를 추가하는 것이 더 쉬워 보입니다.
그렇다면 누군가 내 목표가 주어진다면 다른 접근법을 선택하는 이유를 설명 할 수 있을까요? AppFabric 접근 방식을 권장하는 경우 asp.net 캐시에 데이터를 저장하는 것보다 성능이 더 좋은 방법을 설명 할 수 있습니까?
감사합니다.
감사합니다. 쉬라즈, 좋은 정보. 몇 가지 질문이 있습니다. 캐시 데이터에 대한 요청이 프로세스 외의 다른 시스템에서 발생했기 때문에 데이터베이스에 직접 연결하는 것보다 성능이 향상되지 않을 수 있습니다. 아마도 데이터베이스 성능이 더 나빠질 수도 있습니다.그렇다면 클러스터에 더 많은 컴퓨터를 추가하여 AppFabric 계층을 쉽게 확장 할 수 있다는 이점이 파티션 분할 등을 통해 데이터베이스를 확장하는 것입니다. 올바른 가정입니까? – user969996
데이터베이스가 디스크로 이동해야하기 때문에 Appfabric이 데이터베이스보다 빠릅니다. 로컬로 캐싱하도록 appfabric을 구성 할 수 있지만 처리 중입니다. –