2014-12-02 4 views
0

내 응용 프로그램에 appfabric 캐시를 사용합니다. 내 응용 프로그램은 데이터베이스에서 처음으로 값을 읽고 객체 (데이터 테이블)를 캐시에 저장합니다.appfabric 캐시 검색 속도가 느림

나는 appfabric 캐시 앞에 메모리 캐시를 사용했습니다. Appfabric vs MemoryCache의 성능을 테스트 할 때 appfabric의 결과는 예상치 못한 결과입니다.

메모리 캐시가 캐시에서 10,000 개의 레코드를 읽는 데 128 초가 걸렸습니다. Appfabric 캐시는 10,000 개의 레코드를 읽는 데 15 분이 걸렸습니다.

코어 I5 프로세서, 6GB 램이있는 시스템에 클러스터를 생성했습니다.

왜 시간이 더 걸립니까?

주 - 로컬 캐시가 비활성화되어 있습니다. Cachefactory는 한 번만 생성됩니다. 모든 전화를 만들지는 않았습니다.

답변

0

MemoryCache는 in-process 캐시이므로 캐시에서 항목을 추가하거나 가져 오는 작업은 통신이나 직렬화/직렬화 해제가 필요 없기 때문에 Hashtable (거의 제로)에서 가져 오는 것과 거의 유사합니다.

그러나 Appfabric은 프로세스 외부 캐시이므로 각 작업에는 서버에서 데이터를 추가/가져 오기위한 통신 비용과 함께 데이터의 serialization/deserialization이 필요합니다. 이러한 이유로 인해 성능에서 많은 차이가 있습니다.

appfabric의 성능을 비교하려면 NCache과 같은 다른 프로세스 외부 분산 캐싱 솔루션과 비교하십시오. NCache는 .Net을위한 빠르고 확장 가능한 분산 캐싱 솔루션이기도합니다. NCache는 appfabric에 비해 캐싱 기능이 풍부합니다. 엔터프라이즈 평가판을 무료 평가판으로 다운로드 할 수 있습니다. 자세한 내용은 http://www.alachisoft.com/ncache/을 방문하십시오.