2008-12-29 3 views
33

저는 Memcached와 경쟁 할 수있는 분산 캐싱 솔루션 인 Velocity에 대한 Microsoft의 최근 홍보에 약간의주의를 기울였습니다.MS Velocity 대 Memcached for Windows?

나는 행운이없는 64bit version of Memcached for Windows for some time now을 찾고 있었고, 내가 작업하고있는 ASP.Net MVC 프로젝트에 관한 모든 것이 64 비트이지만 64 비트를 사용하는 것은 의미가 없다.

이제 우리는 이미 베타 버전의 ASP.NET MVC (베타 버전)를 사용하여 베팅을하고 있지만 StackOverflow가 그렇게 나쁘지는 않은 것으로 보입니다. 그러나 Velocity는 아직 많이 알려지지 않았으며 연령대에 따라 Beta (또는 CTP)가 될 것입니다.하지만 64bit가 있습니다!

누구나이 상황에서 제공 할 관련 경험이나 관점이 있습니까? 우리는 Velocity에 대한 우리의 시간을 기다려야합니다 - Memcached와 같은 거인과 경쟁 할 수있는 곳이면 어디든 괜찮습니까? 아니면 Memcached를 64 비트 버전으로 만들려고 노력해야합니까?

+0

위대한 질문 - 두 제품 모두에 익숙한 개발자의 의견을 듣고 싶습니다. – Guy

+3

최근 경험이있는 사람이 있습니까? 허용되는 대답은 1 세 이상인 정보를 기반으로합니다. – UpTheCreek

답변

22

우리는 최근에 Velocity와 Memcached를 비교해 보았습니다. 요컨대, 우리는 Velocity가 Memcached보다 3 배에서 5 배 느리고, (더 중요한 것은) 다중 동작을 현재 지원하지 않는다는 것을 발견했습니다. 그래서 지금은 Memcached와 함께가는 것이 좋습니다. 또한 우리가 배웠던 또 다른 교훈은 분산 캐싱에서 가장 느린 연산은 직렬화와 역 직렬화 (적어도 ASP.NET에서)라는 것입니다. in-process ASP.NET 캐시는 크기가 더 빠릅니다. 따라서 캐싱 전략을 훨씬 신중하게 선택해야합니다.

+5

Velocity는 성능 향상에 영향을 미치는 몇 가지 기능에 대해 잠금, 복제, 객체 태그 지정 등의 추가 기능을 제공합니다. 대부분 캐시의 원시 put/get 성능에 관한 것이 아닙니다. – user8032

+5

업데이트. 새 CTP의 새로운 성능 향상 –

+0

@ pcawa27 : 그러면 캐시 또는 원격 및 분산 메모리 시스템이 필요한지 스스로에게 물어야합니다. 두 가지 문제. – graffic

1

Memcached는 제가 오픈 소스 라이브러리를 가지고 있기 때문에 실수가 없다면 64 비트 경로로 가고 싶다면 재 컴파일 만 할 수 있습니까?

내가 처음 도착했을 때의 속도를 평가했지만 결론적으로 그 단계에서 약간 미개발이었습니다. 비 Windows 서버에서 memcached를 실행할 수 있다는 것도 보너스입니다.

+1

맞습니다. libevent는 사용하는 것이지만 불행히도 메모리 관리에 관해서는 64 비트로 직접 컴파일 할 수는 없습니다 - 방법을 아는 사람들이 약간의 조작을해야합니다 - 저는 아닙니다. 불행히도 :-) 그렇지 않으면 매우 불안정 해집니다. – RobertTheGrey

2

라이센스 비용을 지불하지 않으실 경우 use Scale Out State Server, which I talk about in my answer to a similar question here 수 있습니다. 두 버전 모두 32 비트 및 64 비트 버전이 있습니다.

EDIT : 제품 이름에도 불구하고 세션 상태와 분산 캐싱을 모두 처리합니다.

+1

캐싱은 내 책에서 ASP.NET 세션 추적과 동일하지 않습니다. 그러나 제안에 감사드립니다. –

+0

동의하지만, SOSS는 둘 다 수행합니다. –

+0

세션은 기본적으로 sessionID를 캐시하는 캐시입니다 ... – alchemical