2008-12-29 31 views
33

Tôi đã chú ý đến việc thúc đẩy gần đây của Microsoft về Velocity như một giải pháp bộ nhớ đệm phân tán sẽ cạnh tranh với các tính năng như Memcached.MS Velocity vs Memcached cho Windows?

Tôi đã tìm kiếm 64bit version of Memcached for Windows for some time now không may mắn và vì mọi thứ về dự án ASP.Net MVC tôi đang làm là 64bit, nên không sử dụng bất cứ thứ gì ngoài 64bit.

Bây giờ chúng tôi đã bảo hiểm rủi ro cho các cược của chúng tôi với ASP.NET MVC trong bản Beta (RTM sớm hy vọng), nhưng StackOverflow dường như không làm quá nặng, vì vậy tôi có những mối quan tâm hạn chế ở đó. Nhưng Velocity vẫn còn rất nhiều số lượng chưa biết và vẫn sẽ là Beta (hoặc CTP) cho các độ tuổi - nhưng nó không có 64bit!

Có ai có kinh nghiệm hoặc quan điểm có liên quan để cung cấp trong trường hợp này không? Chúng ta có nên bỏ thời gian của chúng ta cho Velocity - thậm chí nó ở bất cứ nơi nào gần đủ tốt để cạnh tranh với một người khổng lồ như Memcached, hay chúng ta nên đầu tư thời gian cố gắng để có được một phiên bản 64bit của Memcached đi?

+0

Câu hỏi hay - Tôi muốn nghe từ các nhà phát triển có kinh nghiệm với cả hai sản phẩm này. – Guy

+3

Có ai có kinh nghiệm gần đây không? câu trả lời được chấp nhận dựa trên thông tin trên 1 tuổi. – UpTheCreek

Trả lời

22

Chúng tôi đã thực hiện gần đây một số tiền hợp lý so sánh Vận tốc và Memcached. Tóm lại, chúng tôi thấy Velocity chậm hơn 3x - 5x so với Memcached, và (thậm chí quan trọng hơn) nó hiện không hỗ trợ cho hoạt động multi-get. Vì vậy, tại thời điểm này, tôi sẽ khuyên bạn nên đi với Memcached. Ngoài ra, một bài học khác mà chúng tôi đã học được là hoạt động chậm nhất trong bộ nhớ đệm phân tán là serialization và deserialization (ít nhất là trong ASP.NET). Bộ nhớ cache ASP.NET trong quá trình là thứ tự của magnitudes nhanh hơn. Vì vậy, bạn phải chọn chiến lược bộ nhớ đệm cẩn thận hơn nhiều.

+5

Vận tốc cung cấp nhiều tính năng hơn (khóa, sao chép, gắn thẻ đối tượng để đặt tên cho vài hiệu ứng ảnh hưởng đến hiệu năng) - đôi khi quyết định không chỉ là về hiệu suất đặt/nhận dữ liệu của bộ nhớ cache – user8032

+5

Cập nhật. Cải tiến hiệu suất mới trong CTP mới –

+0

@ pcawa27: sau đó bạn nên tự hỏi mình nếu bạn muốn có bộ nhớ cache hoặc hệ thống bộ nhớ từ xa và phân phối. Hai vấn đề khác nhau. – graffic

1

Memcached có một số thư viện nguồn mở nếu tôi không nhầm lẫn nếu bạn muốn đi tuyến 64bit, bạn có thể không biên dịch lại được không?

Tôi đã đánh giá Velocity khi nó đến lần đầu tiên nhưng đã đi đến kết luận nó đã được một chút chưa phát triển ở giai đoạn đó. Có khả năng chạy memcached trên máy chủ không cửa sổ cũng là một tiền thưởng.

+1

Bạn nói đúng, là một cái gì đó mà nó sử dụng, nhưng thật không may khi nói đến quản lý bộ nhớ, bạn không thể biên dịch trực tiếp lên 64bit - một số chỉnh sửa cần được thực hiện bởi những người biết làm thế nào - tôi không phải là một trong những người không may :-) Nếu không, nó trở nên rất không ổn định. – RobertTheGrey

2

Nếu bạn không ngại trả tiền giấy phép, bạn có thể use Scale Out State Server, which I talk about in my answer to a similar question here. Họ có cả phiên bản 32 và 64 bit.

EDIT: Mặc dù tên sản phẩm, nó xử lý cả trạng thái phiên và bộ nhớ đệm được phân phối.

+1

Caching không giống như theo dõi phiên ASP.NET trong cuốn sách của tôi. Nhưng cảm ơn đề nghị. –

+0

Đồng ý, nhưng SOSS thực hiện cả hai. –

+0

phiên bản cơ bản là bộ nhớ cache để cache sessionID ... – alchemical

Các vấn đề liên quan