Чи можу я запустити Memcached у 64-бітному середовищі Windows (x64)?


87

Хто - небудь знає , ЯКЩО , КОЛИ або ЯК я можу отримати Memcached працює на 64 - бітної середовищі Windows , ?

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

Я знаю, що це може перелитися на дебати щодо 32-бітних проти 64-бітних на серверах, але давайте просто скажемо, що мої переваги - 64-бітні, і що у мене є кілька дуже вагомих причин.

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

Я підозрюю, що просто завантажити все це в C ++ і натиснути "компіляція" (для 64 біт) не спрацювало б, не в останню чергу через хитромудрі відмінності в 32 та 64 бітній архітектурі, але мені цікаво, чи хтось працює над цим земля? На жаль, мій досвід полягає лише в керованому коді (C #), інакше я спробував би взяти це на себе, але я не можу повірити, що я єдиний хлопець, який намагається запустити memcached на 64-розрядному сервері Windows. .. я?


Оновлення

Так, боюся, я все ще шукаю відповіді на це - всі мої зусилля (з моїми жалюгідними навичками C ++) щодо стабільної збірки зазнали невдачі - я перемістив один сервер і 3 віртуальні машини просто випробовують, тому зараз я зверніться до справжніх експертів. Хто-небудь планує переносити це на 64 біт? Або ви дійсно пропонуєте використовувати замість цього MS Velocity? Я здригаюся від цієї думки.


Оновлення: @Lars - Я насправді використовую Enyim - це дуже добре, але ви маєте на увазі клієнта, а не серверну частину.

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

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


Яка помилка виникає при спробі зареєструвати послугу? Я встановив кілька служб, розроблених у 32-розрядному, в 64-розрядному середовищі, і ніколи не мав проблем. Спробуйте відкрити командний рядок у 32-біті та зареєструвати службу за допомогою програми sc.exe
lsalamon

Відповіді:


52

Лабораторії 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://northscale.com/ products / memcached.html та завантажте за адресою: 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


3
У мене немає представника для редагування, але 1-е посилання тут наразі неправильне; дефіс потрібен між 64 і бітами: blog.northscale.com/northscale-blog/2009/12/…
Меггі

22
Посилання для завантаження все ще працює: s3.amazonaws.com/downloads.northscale.com/…
IEnumerator

Як я можу налаштувати memcached сервер за допомогою командного рядка для Windows? Я спробував посилання codeproject.com/Articles/96698/… . Але не вдається налаштувати.
Нарен

25

Просто щоб люди знали, 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


Здається, Couchbase зараз просуває інший підхід couchbase.com/memcached
Mike Gifford

6

Бінарний файл 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/


6

Сучасні двійкові файли

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

Наприклад, тут є двійкові файли останньої версії (на момент написання цієї відповіді) 1.5.16 . Існує як 32, так і 64-розрядна версія.

Запам'ятовується як служба Windows

Якщо ви хочете встановити його в якості служби Windows , ви можете використовувати, наприклад, з відкритим вихідним кодом Non-смоктання Service Manager :

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

Детальніше див. У документації .


3

Я особисто вважаю, що вам доведеться перекомпілювати програму за допомогою 64-розрядного компілятора (очевидно, на 64-розрядної машині), щоб отримати максимальну віддачу від Memcached на 64-розрядної платформи. Це може бути непростим завданням залежно від коду. Якби це було написано з урахуванням 64-розрядної портативності, то це могла б бути проста перекомпіляція. Якщо цього не сталося, то вам цілком вдасться трохи поправити, перш ніж змушувати його будувати .. і тоді вам доведеться перевірити, що ви нічого не зламали!

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

Сказавши це, можливо, варто закрутити його!

Удачі. На здоров’я!


@Lars: Я рекомендую прочитати питання перед спробою відповісти.

@John Sibly & @DannySmurf: враховуючи природу Memcached і те, що вона прагне досягти, ви, звичайно, не хотіли б запускати 32-бітну версію на 64-бітній машині? Якби у вас була 64-розрядна машина, мало б сенс запустити 64-розрядну версію, щоб максимально використати функції апаратного забезпечення.


3

У мене є memcached-1.2.1 для win32, який спочатку було завантажено звідси: http://jehiah.cz/projects/memcached-win32/ (але зараз з якихось причин це непрацююче посилання).

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


2

Я просто шукав memcached в 64-бітовій системі Windows і знайшов це. Наразі не існує жодної версії з пам’яттю Win64. Але я щойно запустив memcached.exe за допомогою відповідних команд через cmd, і він просто працює нормально. Я використовую Windows Vista 64bit, не знаю, чи є якісь відмінності між версіями Vista та сервера.

Найщиріші побажання Fleshgrinder


Дякуємо за це - запуск його з cmd не був проблемою - проблемою було встановити його як службу. з повагою, Роб Г
РобертГрей

1

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


1
Привіт, Pure.Krome, дякую за інформацію, але я бачив цю сторінку і ніколи не бачив 64-бітної версії сервера. І ні - згідно з відповіддю OJ вище, ви не можете просто "легко" скомпілювати до 64 біт, якщо код не написаний таким чином, і робота з пам'яттю завжди є поганим місцем для перевірки цієї теорії ...
RobertTheGrey

хм ах -> біт x64 був бета-версією, тому його замінили деякі останні оновлення. він був знайдений тут: codeplex.com/memcachedproviders/Release / ...
Pure.Krome

1

32-розрядна версія працює на 64-розрядної версії через WOW64, але процес все ще обмежений 2 ГБ, з 64-розрядною версією ви можете перейти більше, ніж більше, ніж матиме одна машина.


0

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

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


0

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

Я просто перейшов до властивостей виконуваного файлу, потім вкладки Сумісність і встановив прапорець "Запустити цю програму як адміністратор" (Існує маса інших способів зробити це, але це здавалося найпростішим)

Тоді я нарешті зміг успішно запустити: memcached -d install

Не забудьте запустити послугу після її встановлення :)


0

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.