Могу ли я запустить Memcached в среде Windows (x64) 64 бит?

Кто-нибудь знает IF, КОГДА или КАК Я могу получить Memcached работает в среде Windows 64 бит?

Я настраиваю новое решение для хостинга и предпочитаю запускать 64-битную ОС, и поскольку это решение ASP.Net MVC с SQL Server DB, ОС либо будет Windows Server 2003, либо (надеюсь! ) 2008 г.

Я знаю, что это может перерасти в дебаты о 32-битных и 64-битных серверах, но позвольте сказать, что мои предпочтения 64 бит и что у меня есть хорошие причины.

До сих пор я пробовал ряд опций и нашел бит , связанный с тем, чтобы получить это на 32-битной машине (и это удалось мне добавить), но поскольку оригинальный порт Windows специфичен для Win32, вряд ли это поможет при установке в качестве службы на x64. Он также имеет зависимость от libevent, для которого я могу получить только скомпилированную версию Win32.

Я подозреваю, что просто загрузить все это на С++ и нажать "компиляция" (для 64-битного) не получится, не в последнюю очередь из-за сложных различий в 32-х и 64-битных архитектурах, но мне интересно, работает ли кто-нибудь на получить это от земли? К сожалению, мой опыт заключается только в управляемом коде (С#), иначе я бы попытался взять это на себя, но я не могу поверить, что я единственный парень, пытающийся получить Memcached работает на 64-битном сервере Windows.... am I??

Любая помощь или рекомендации оценены...


Update

Да, я боюсь, что я все еще ищу ответ на этот вопрос - все мои усилия (с моими жалкими навыками на С++), чтобы сделать стабильную сборку, не удались - я разбил один сервер и 3 VM просто попробовав это, теперь я обращусь к настоящим специалистам. Кто-нибудь планирует переносить это на 64-битный? Или вы действительно предлагаете вместо этого использовать MS Velocity? Я содрогаюсь от этой мысли...


Обновление: @Lars - я действительно использую Enyim на самом деле - это очень хорошо, но то, о чем вы говорите, это клиент, а не серверная часть.

@DannySmurf - я смог установить его только как службу в 32-разрядной ОС. 64-разрядная ОС отклоняет установку этой службы Win32. Конечно, да, много кода Win32 работает без проблем в архитектуре x64, поэтому вы можете запускать 32-битные приложения (например, Office) или игры на Vista/XP 64 и т.д., Но это не переводит напрямую, когда дело касается служб. Я не эксперт, я подозреваю, что это связано с синхронизацией или событиями, которые должны подписываться службам, и я подозреваю, что 64 и 32 не играют хорошо. Я рад, что поправлюсь на все это, но, чтобы ответить на ваш вопрос - да, я пробовал.

@OJ - большое спасибо за прямой ответ. Я думал так же, но не был уверен, что кто-то еще имел предложения или уже пошел по этому пути. Может быть, когда StackOverflow будет LIVE, тогда больше людей ответят и дадут мне знать, если это что-то, что нужно изучить, и хотя я могу попробовать и скомпилировать его сам - я просто не могу "доверять" (с моим уровнем опыта на С++), что он обеспечит надежность "уровня предприятия" в таком важном компоненте больших масштабируемых решений. Я думаю, что для того, чтобы я мог быть уверенным, для этого понадобилось бы более активное вмешательство, чем мой несаминированный экспериментальный подход. Один небольшой надзор с моей стороны, может привести сайт вниз. О, хорошо... до следующего раза...

Ответ 1

Лаборатории North Scale выпустили сборку memcached 1.4.4 для Windows x64:

http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available

http://labs.northscale.com/memcached-packages/

UPDATE: они недавно выпустили Memcached Server - все еще БЕСПЛАТНО, но расширенный дистрибутив с кластеризацией, веб-интерфейс администратора/статистики и т.д. (я никак не связан с ними). ​​Проверьте это на http://northscale.com/products/memcached.html и загрузите по адресу: http://www.northscale.com/download.php?a=d

ОБНОВЛЕНИЕ 2: NorthScale Memcached больше не доступен как самостоятельная загрузка. Теперь они сделали его частью своего коммерческого предложения SQL без SQL, называемого Membase. Он может быть сконфигурирован для работы в режиме Memcached-only (т.е. Без сохранения), а также 100% бесплатной версии. Посмотрите здесь: http://www.membase.org/downloads

ОБНОВЛЕНИЕ 3: MemBase спал с CouchDB и выпустил гибридное предложение продукта под названием CouchBase. Они по-прежнему предлагают бесплатную версию "Сообщества" на http://www.couchbase.com/download

Ответ 2

Именно поэтому люди знают, что 32-битная и 64-разрядная версия, созданная хорошими людьми из membase/couchbase/все еще доступна, изменился URL-адрес блога:

32-битный двоичный файл memcached 1.4.4 в качестве службы Windows:

http://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available

http://s3.amazonaws.com/downloads.northscale.com/memcached-win32-1.4.4-14.zip

64-битный двоичный файл memcached 1.4.4 в качестве службы Windows:

http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available

http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip

64-разрядная версия имеет неправильное время безотказной работы.

Так что, возможно, вам нужен этот бинар 1.4.2 вместо:

http://www.urielkatz.com/archive/detail/memcached-64-bit-windows/

32-разрядная версия, входящая в состав MemCacheDManager, также поддерживает в Windows 2000 (без IPv6):

http://allegiance.chi-town.com/MemCacheDManager.aspx http://allegiance.chi-town.com/Download.aspx?dl=Releases/MemCacheDManager_1_0_3_0.msi&rurl=MemCacheDManager.aspx

Чтобы распаковать msi:

msiexec/a Releases_MemCacheDManager_1_0_3_0.msi/qb TARGETDIR = c:\memcached

Ответ 3

Memcached 1.4.5 для win x64 можно найти здесь: http://downloads.northscale.com/memcached-1.4.5-amd64.zip

Другой вариант - установить Couchbase Server 1.8.0 x64 здесь: http://www.couchbase.com/download, в комплекте memcached, похоже, версия 1.7.1.1 (звучит как внутренняя версия, я не могу сказать, что является реальной)

Что касается запуска memcached как службы, этого руководства может быть достаточно:

http://www.richardnichols.net/2010/08/install-memcached-on-windows-server/

Ответ 4

Современные бинарные файлы

У NorthScale действительно старые версии (самая новая - 1.4.5, выпущенная в апреле 2010 года), но в GitHub есть парень, который предлагает 64-битные двоичные файлы Memcached для Windows, скомпилированные с использованием Cygwin (но они не требуют его установки) в . репозиторий github.com/nono303/memcached.

Например, двоичные файлы последней выпущенной версии (на момент написания этого ответа) 1.5.16 находятся здесь. Существуют как 32-, так и 64-битные версии.

Memcached как служба Windows

Если вы хотите установить его в качестве службы Windows, вы можете использовать, например, диспетчер неосасывающих служб с открытым исходным кодом Non-Sucking Service Manager:

nssm install memcached c:\path\to\memcached.exe
nssm start memcached

Подробнее см. документацию documentation.

Ответ 5

Я лично считаю, что вам придется перекомпилировать приложение с использованием 64-битного компилятора (очевидно, на 64-битной машине), чтобы получить максимальную отдачу от Memcached на 64-битной платформе. Это может быть непростой задачей в зависимости от кода. Если это было написано с учетом 64-битной переносимости, тогда это может быть простая перекомпиляция. Если это не так, тогда вы можете наверстать немного исправления, прежде чем приступить к его созданию. И тогда вам нужно будет убедиться, что вы ничего не сломали!

Я не думаю, что вы переоцениваете различия между 32 и 64-битными вообще. Распространенная ошибка заключается в том, чтобы предположить, что задание является простой перекомпиляцией, когда на самом деле это не так. Есть больше проблем с переносимостью, чем большинство людей понимают. Просто потому, что приложение строит, и вы получаете двоичный файл, это не значит, что двоичный файл будет вести себя так, как должен. Особенно, когда он может взаимодействовать с другим 32-битным кодом.

Сказав это, возможно, стоит отбросить его!

Удачи. Ура!


@Lars: я рекомендую прочитать вопрос, прежде чем пытаться ответить.

@John Sibly и @DannySmurf: учитывая характер Memcached и то, к чему он стремится достичь, наверняка вы не захотите запускать 32-разрядную версию на 64-битной машине? Если бы у вас была 64-разрядная машина, было бы разумно запустить 64-разрядную версию, чтобы максимально использовать возможности аппаратного обеспечения.

Ответ 6

У меня есть memcached-1.2.1 для исходной загрузки win32: http://jehiah.cz/projects/memcached-win32/ (но теперь по какой-то причине он сломан ссылка).

Вот как мне удалось запустить memcached для Win32 на Windows Server 2008 R2, 64 бит. memcached.exe свойства Совместимость Запустите эту программу в режиме совместимости для: Windows XP (SP 3). Обратите внимание, что пользователь Uriel Katz упоминает в этом обсуждении, что этот метод ограничен использованием памяти 2 ГБ.

Ответ 7

Я просто искал memcached в 64-битной системе Windows и нашел это. Пока нет версии Win64 memcached. Но я только что начал memcached.exe с соответствующими командами через cmd, и он просто работает нормально. Я использую Windows Vista 64bit, не знаю, существуют ли различия между Vista и версиями сервера.

С наилучшими пожеланиями Fleshgrinder

Ответ 8

Чувак, Codeplex - ваш друг → check из этого порта. Раньше у него был 64-разрядный выпуск, но вы можете либо загружать последнюю версию, либо компилировать ее на 64-битный (довольно простой), либо проверять предыдущие версии.

Ответ 9

32-разрядная версия работает на 64-битной основе через WOW64, но процесс по-прежнему ограничен 2 ГБ, а 64-разрядная версия может выйти за рамки этого более чем на одну машину.

Ответ 10

Вы уверены, что 32-разрядная версия не просто запускается на 64-битной Windows без изменений? Большинство вещей делают.

В противном случае вы пытались просто скомпилировать его для 64-битного? Краткий обзор нескольких групп Google и т.д., Где люди задавали этот же вопрос, предполагает, что это может быть именно решение этого. Я думаю, вы, вероятно, переоцениваете разницу между 32-разрядной и 64-разрядной версиями Windows (по крайней мере, до компиляции собственного приложения).

Ответ 11

FYI, я не смог получить 64-битную версию (отсюда http://labs.northscale.com/memcached-packages/) для установки в качестве службы, пока я не запустил memcached как администратор.

Я только что перешел к исполняемым свойствам, затем вкладке Совместимость и установил флажок "Запустить эту программу в качестве администратора" (Там много других способов сделать это, но это казалось простым)

Затем я, наконец, смог успешно запустить: memcached -d install

Не забудьте запустить сервис после его установки:)

Ответ 12

Вы всегда можете запускать несколько экземпляров 32-разрядных процессов memcached в одном окне, что позволяет этой машине обслуживать в общей сложности > 2 ГБ пространства памяти.