MS Velocity против Memcached для Windows?

Я обращал внимание на недавнее продвижение Microsoft Velocity как решения для распределенного кэширования, которое могло бы конкурировать с подобными Memcached.

Я уже некоторое время искал 64-битную версию Memcached для Windows, но безуспешно , и поскольку все в проекте ASP.Net MVC, над которым я работаю, является 64-битным, нет смысла использовать что-либо, кроме 64-битного.

Сейчас мы уже хеджируем наши ставки с помощью ASP.NET MVC в бета-версии (надеюсь, скоро RTM), но, похоже, у StackOverflow дела обстоят не так уж плохо, поэтому у меня есть некоторые опасения. Но скорость по-прежнему остается неизвестной величиной и будет бета-версией (или CTP) целую вечность, но у нее есть 64-битная!

Есть ли у кого-нибудь соответствующий опыт или точка зрения, которые можно предложить в этой ситуации? Должны ли мы подождать до Velocity - достаточно ли она хороша, чтобы конкурировать с таким гигантом, как Memcached, или нам стоит потратить время на то, чтобы запустить 64-битную версию Memcached?


person RobertTheGrey    schedule 29.12.2008    source источник
comment
Отличный вопрос - я хотел бы услышать мнение разработчиков, имеющих опыт работы с обоими этими продуктами.   -  person Guy    schedule 27.01.2009
comment
Есть ли у кого-нибудь недавний опыт? принятый ответ основан на информации старше 1 года.   -  person UpTheCreek    schedule 27.08.2010


Ответы (3)


Недавно мы провели изрядное количество сравнений Velocity и Memcached. Вкратце, мы обнаружили, что Velocity в 3–5 раз медленнее, чем Memcached, и (что еще более важно) в настоящее время не поддерживает операцию множественного получения. Поэтому на данный момент я бы рекомендовал использовать Memcached. Кроме того, мы усвоили еще один урок: самая медленная операция в распределенном кэшировании - это сериализация и десериализация (по крайней мере, в ASP.NET). Кэш ASP.NET внутри процесса работает на порядок быстрее. Так что выбирать стратегии кеширования нужно гораздо внимательнее.

person Jan Zich    schedule 31.01.2009
comment
Velocity предоставляет больше функций (блокировка, репликация, тегирование объектов и т. Д., Например, те, которые влияют на производительность) - часто решение не сводится только к необработанной производительности кеширования при вводе / выводе. - person user8032; 05.03.2009
comment
@ pcawa27: тогда вы должны спросить себя, хотите ли вы кэш или удаленную распределенную систему памяти. Две разные проблемы. - person graffic; 29.04.2010
comment
Следует отметить, что в последних битах была добавлена ​​операция множественного получения BulkGet. - person Drew Marsh; 14.09.2010
comment
Вот ссылка на AppFabric BulkGet. В настоящее время поддерживаются только регионы, а нет в названный уровень кэша. - person fozylet; 27.03.2012

Если вы не против заплатить за лицензию, вы можете используйте Scale Out State Server, о котором я говорю в своем ответе на аналогичный вопрос здесь. У них есть как 32-, так и 64-битные версии.

РЕДАКТИРОВАТЬ: Несмотря на название продукта, он обрабатывает как состояние сеанса, так и распределенное кэширование.

person Daniel Schaffer    schedule 29.01.2009
comment
Кэширование - это не то же самое, что отслеживание сеансов ASP.NET в моей книге. Но спасибо за предложение. - person Dan Esparza; 15.09.2009
comment
Нет, сеансы необходимо проводить надежно, тогда как кэшированные объекты можно удалить, когда кеш заполнится, так что это две разные вещи. - person zcrar70; 13.06.2010

У Memcached есть несколько библиотек с открытым исходным кодом, если я не ошибаюсь, поэтому, если вы хотите пойти по 64-битному маршруту, можете ли вы просто перекомпилировать?

Я оценивал Velocity, когда он впервые появился, но пришел к выводу, что на этом этапе он был немного недоработан. Возможность запускать memcached на серверах, отличных от Windows, также является бонусом.

person mjallday    schedule 29.01.2009
comment
Вы правы, libevent - это то, что он использует, но, к сожалению, когда дело доходит до управления памятью, вы не можете просто скомпилировать его до 64-битной версии напрямую - некоторые настройки должны быть сделаны теми, кто знает, как - я не из тех к сожалению :-) Иначе становится очень нестабильно. - person RobertTheGrey; 29.01.2009