다음을 사용하여 웹 팜의 ASP.NET 캐시 제한 해결 NCache
Microsoft는 ASP.NET의 응용 프로그램 범위 내에서 ASP.NET 캐시 개체를 제공하여 응용 프로그램 데이터를 캐시하고 비용이 많이 드는 데이터베이스 이동을 줄일 수 있습니다. ASP.NET 성능 향상. ASP.NET Cache가 일반적으로 사용되는 방식은 다음과 같습니다.
using System.Web.Caching;
...
string key = "Employee:EmployeeId:1000";
Employee employee = (Employee)Cache[key];
if (employee == null){
// Load Employee from DB & put it in the Cache
LoadEmployeeFromDb(employee);
Cache.Insert(key, employee, null,
Cache.NoAbsoluteExpiration,
Cache.NoSlidingExpiration,
CacheItemPriority.Default, null );
}
웹 팜의 ASP.NET 캐시 제한 사항
ASP.NET Cache는 독립 실행형 InProc(In-Proc) 캐시이므로 응용 프로그램이 부하 분산된 웹 팜에 배포되는 경우 많은 제한이 있습니다. 이러한 제한 사항은 다음과 같습니다.
- 동기화되지 않은 여러 캐시 사본: ASP.NET Cache는 독립형이기 때문에 웹 가든 또는 웹 팜에 있는 캐시의 여러 복사본은 서로 동기화되지 않습니다. 그리고 이는 애플리케이션에 대한 주요 데이터 무결성 문제를 제기합니다.
- 작업자 프로세스가 재활용될 때 캐시 손실: 작업자 프로세스가 재활용되면 모든 ASP.NET Cache 데이터가 손실됩니다. 그리고 데이터베이스에서 전체 캐시를 다시 로드해야 하므로 성능 문제가 발생합니다.
- 캐시 크기 문제는 제한적입니다. ASP.NET 캐시는 ASP.NET 작업자 프로세스 메모리 제한 내에 있어야 하며 이는 캐시의 크기에 심각한 제약을 줍니다.
- DB를 통한 캐시 동기화에는 다음과 같은 문제가 있습니다. ASP.NET Cache의 SQL CacheDependency를 사용하면 캐시를 데이터베이스와 동기화할 수 있습니다. 그리고 어떤 사람들은 데이터베이스를 통해 서로 다른 웹 서버에 있는 캐시의 여러 복사본을 서로 동기화하는 데 사용합니다. 그러나 이것은 데이터베이스가 다시 모든 활동의 중심에 있고 SQL CacheDependency 자체가 확장성이 높지 않기 때문에 주요 성능 및 확장성 문제가 있습니다.
분산 캐시(NCache): 웹 팜을 위한 솔루션
NCache 분산 캐시이며 위에서 언급한 ASP.NET 캐시의 모든 제한 사항을 해결합니다. 방법은 다음과 같습니다. NCache 다음과 같은 제한 사항을 해결합니다.
- 웹 팜에서 동기화된 캐시: NCache 하는 분산 캐시 웹 팜의 여러 서버에서 캐시를 동기화합니다. 이는 데이터 무결성 문제가 없음을 의미합니다. NCache.
- 웹 가든의 캐시 OutProc: NCache out-of-process 캐시이므로 여러 작업자 프로세스가 공통 캐시를 공유할 수 있습니다.
- 매우 확장 가능한 캐시 크기: NCache 모든 ASP.NET 작업자 프로세스 유형의 메모리 크기를 제한할 뿐만 아니라 더 많은 캐시 서버 추가 저장 용량을 늘리기 위해. 따라서 100GB 이상의 캐시 크기를 쉽게 가질 수 있습니다.
- 웹 팜의 높은 트랜잭션을 위한 캐시 확장: NCache 분산 캐시이며 다음을 제공합니다. 확장 가능한 캐싱 토폴로지. 이것은 허용 NCache 문제 없이 캐시 클러스터를 확장합니다.
- 캐시는 데이터 복제로 매우 안정적입니다. NCache 제공 지능형 데이터 복제 성능을 희생하지 않고. 이 데이터 복제는 캐시 서버가 다운되더라도 데이터가 손실되지 않도록 합니다. 이를 통해 ASP.NET 응용 프로그램은 데이터 손실에 대한 걱정 없이 데이터를 캐시할 수 있습니다.
NCache ASP.NET 캐시 API와 더 많은 기능이 있습니다.
NCache 동일한 API 플러스로 모든 ASP.NET Cache 기능을 제공합니다. 이를 통해 다음을 수행할 수 있습니다. ASP.NET Cache에서 다음으로 마이그레이션 NCache 원활하게. 다음에서 네임스페이스만 변경합니다. 시스템.웹.캐싱 에 Alachisoft.NCache.웹.캐싱 캐시되는 모든 객체가 직렬화 가능한지 확인하십시오.
또한, NCache ASP.NET Cache에는 없는 다양한 캐싱 기능을 제공합니다. 다음은 부분 목록입니다.
자세히 알아보기 NCache 풍모.
빠른 사용 방법 NCache?
다음은 신속하게 이점을 얻을 수 있는 몇 가지 간단한 단계입니다.
- 설치 NCache: 웹 서버와 두 개의 캐시 서버에서
- 캐시 생성: GUI 기반을 통해 NCache 관리자 도구
- 애플리케이션 데이터 캐시 NCache: 참고하셔야 합니다. NCache 조립 후 제작 NCache 캐시에서 .NET 개체를 저장하고 가져오기 위한 API 호출
- ASP.NET 성능 모니터링: 이제 ASP.NET 성능을 모니터링할 수 있으며 또한 NCache 성능을 제공합니다. NCache 모니터링할 수 있는 다양한 PerfMon 카운터 세트를 제공합니다.
다음에 무엇을할지?