можно запустить Memcached в 64-битной среде Windows (x64)? - PullRequest
82 голосов
/ 12 августа 2008

Кто-нибудь знает ЕСЛИ , КОГДА или КАК Я могу получить Memcached , работающий в 64-битной среде Windows?

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

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

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

Я подозреваю, что простая загрузка всего этого в C ++ и нажатие кнопки «compile» (для 64-битных систем) не сработает, не в последнюю очередь из-за сложных различий в 32- и 64-битных архитектурах, но мне интересно, работает ли кто-нибудь над снимать это с земли? К сожалению, мой опыт заключается только в управляемом коде (C #), в противном случае я бы попытался взять это на себя, но я не могу поверить, что я единственный парень, пытающийся заставить memcached работать на 64-битный сервер Windows .... я ??

Любая помощь или рекомендации приветствуются ...


Обновление

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


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

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

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

Ответы [ 12 ]

51 голосов
/ 01 марта 2010

Лаборатории 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/

ОБНОВЛЕНИЕ: они недавно выпустили Memcached Server - все еще БЕСПЛАТНО, но улучшенный дистрибутив с кластеризацией, веб-интерфейсом администратора / статистики и т.д. * и скачать по адресу: http://www.northscale.com/download.php?a=d

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

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

24 голосов
/ 21 марта 2012

Точно так же, как люди знают, 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? Дл = Релизы / MemCacheDManager_1_0_3_0.msi & rurl = MemCacheDManager.aspx

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

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

6 голосов
/ 05 апреля 2012

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/

3 голосов
/ 09 января 2011

У меня есть memcached-1.2.1 для win32, первоначально скачанный отсюда: http://jehiah.cz/projects/memcached-win32/ (но теперь по какой-то причине это неработающая ссылка).

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

3 голосов
/ 13 августа 2008

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

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

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

Удачи. Ура!


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

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

2 голосов
/ 04 марта 2009

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

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

1 голос
/ 18 декабря 2009

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

1 голос
/ 20 ноября 2008

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

0 голосов
/ 06 октября 2012

Если это может помочь, я сделал обертку на основе компиляции 64-битных memcached 1.4.5, найденных на этой странице ( прямая ссылка на двоичный файл NorthScale ).

Это служба Windows, и она отлично работает в производственной среде:
https://github.com/eric-b/MemcachedService64

0 голосов
/ 04 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...