Bisakah saya menjalankan Memcache pada lingkungan Windows (x64) 64bit?

87

Adakah yang tahu JIKA , KAPAN atau BAGAIMANA saya bisa mendapatkan Memcache berjalan di lingkungan Windows 64bit?

Saya sedang menyiapkan solusi hosting baru dan lebih memilih untuk menjalankan OS 64bit, dan karena ini adalah solusi MVC ASP.Net dengan SQL Server DB, OS tersebut akan menjadi Windows Server 2003 atau (mudah-mudahan!) 2008.

Saya tahu bahwa ini bisa meluas ke perdebatan mengenai 32bit vs 64bit pada server, tetapi mari kita hanya mengatakan bahwa preferensi saya adalah 64bit dan bahwa saya memiliki beberapa sangat alasan yang bagus .

Sejauh ini, saya sudah mencoba beberapa pilihan dan menemukan sedikit dari bantuan yang berkaitan dengan bangun ini pada mesin 32bit (dan berhasil saya bisa menambahkan), tapi karena asli Windows port adalah Win32 tertentu, ini tidak akan membantu saat menginstal sebagai layanan di x64. Ia juga memiliki ketergantungan pada libevent yang saya hanya bisa mendapatkan versi terkompilasi Win32.

Saya menduga bahwa hanya memuat semua ini di C ++ dan menekan "kompilasi" (untuk 64bit) tidak akan berfungsi, paling tidak karena perbedaan rumit dalam arsitektur 32 dan 64bit, tetapi saya bertanya-tanya apakah ada yang berupaya untuk menghapus ini tanah? Sayangnya, keahlian saya hanya terletak pada kode terkelola (C #), jika tidak, saya akan mencoba dan mengambilnya sendiri, tetapi saya tidak percaya saya satu-satunya orang di luar sana yang mencoba memcache berjalan di server Windows 64 bit .. ..am aku?


Memperbarui

Ya, saya khawatir saya masih mencari jawaban untuk ini - semua upaya saya (dengan keterampilan C ++ saya yang menyedihkan) untuk membuat build yang stabil telah gagal - Saya telah membuang satu server dan 3 VM baru saja mencobanya jadi sekarang saya beralih ke ahli yang sebenarnya. Apakah ada yang berencana mem-porting ini ke 64bit? Atau apakah Anda benar-benar menyarankan agar saya menggunakan MS Velocity? Aku ngeri memikirkannya.


Pembaruan: @ Lars - Saya menggunakan Enyim sebenarnya - itu sangat bagus, tetapi yang Anda maksud adalah klien, bukan bagian server.

@DannySmurf - Saya hanya dapat menginstalnya sebagai layanan pada OS 32 bit. 64 bit OS menolak penginstalan layanan Win32 ini. Tentu saja ya, banyak kode Win32 bekerja dengan mulus pada arsitektur x64, maka Anda dapat menjalankan aplikasi 32-bit (seperti Office misalnya) atau game di Vista / XP 64 dll, tetapi ini tidak langsung diterjemahkan ketika datang ke layanan. Saya bukan ahli, saya curiga itu ada hubungannya dengan sinkronisasi atau acara yang perlu berlangganan layanan, dan saya curiga bahwa 64 dan 32 tidak berfungsi dengan baik. Saya senang dikoreksi tentang semua ini, tetapi untuk menjawab pertanyaan Anda - ya, saya sudah mencoba.

@OJ - terima kasih banyak atas tanggapan langsungnya. Saya banyak berpikir, tetapi tidak yakin apakah ada orang lain yang punya saran atau sudah mengikuti rute ini. Mungkin saat StackOverflow LIVE, maka lebih banyak orang akan merespons dan memberi tahu saya jika ini adalah sesuatu yang sedang diperiksa, dan meskipun saya dapat mencoba dan mengompilasinya sendiri - saya tidak bisa "percaya" (dengan tingkat pengalaman C ++ saya) bahwa itu akan memberikan keandalan "Tingkat Perusahaan" dalam komponen penting dari solusi berskala besar. Saya pikir itu akan membutuhkan intervensi terpelajar daripada pendekatan eksperimental tanpa pembersihan sebelum saya bisa percaya diri. Satu pengawasan kecil di pihak saya, dapat membuat situs tersebut turun. Oh baiklah ... sampai waktu berikutnya.

RobertTheGrey
sumber
Kesalahan mana yang terjadi saat mencoba mendaftarkan layanan? Saya menginstal beberapa layanan yang dikembangkan dalam 32-bit, pada lingkungan 64-bit, dan tidak pernah mengalami masalah. Coba buka baris perintah dalam 32-bit dan daftarkan layanan menggunakan program
sc.exe

Jawaban:

52

Lab Skala Utara telah merilis versi memcache 1.4.4 untuk Windows x64:

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

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

PEMBARUAN: mereka baru saja merilis Memcached Server - masih GRATIS tetapi distro yang ditingkatkan dengan pengelompokan, admin / statistik berbasis web, dll. (Saya tidak terkait dengan mereka dengan cara apa pun) Lihat di http://northscale.com/ products / memcached.html dan unduh di: http://www.northscale.com/download.php?a=d

PEMBARUAN 2: NorthScale Memcached tidak lagi tersedia sebagai unduhan mandiri. Sekarang mereka telah menjadikannya bagian dari penawaran DB No-SQL komersial mereka yang disebut Membase. Ini dapat dikonfigurasi untuk berjalan dalam mode Memcached-only (yaitu tanpa ketekunan) dan ada versi gratis 100% juga. Lihat di sini: http://www.membase.org/downloads

PEMBARUAN 3: MemBase telah tidur dengan CouchDB dan menghasilkan penawaran produk hybrid, yang disebut CouchBase. Mereka masih menawarkan versi "Komunitas" gratis di http://www.couchbase.com/download

zvolkov
sumber
3
Saya tidak memiliki perwakilan untuk mengedit, tetapi tautan pertama di sini saat ini tidak benar; diperlukan tanda hubung antara 64 dan bit: blog.northscale.com/northscale-blog/2009/12/…
Maggie
22
Tautan unduhan masih berfungsi: s3.amazonaws.com/downloads.northscale.com/…
IEnumerator
Bagaimana cara mengkonfigurasi server memcache menggunakan baris perintah untuk windows? Saya mencoba tautan codeproject.com/Articles/96698/… . Tetapi tidak dapat mengkonfigurasi.
Naren
Saat ini, dengan halaman web unduhan Northscale tidak tersedia lagi, saya menunjukkan halaman ini: programmersought.com/article/55551624598 Catatan: versi 1.4.5 harus diinstal sebagai tugas, bukan sebagai layanan (seperti dulu)
aldemarcalazans
25

Asal tahu saja, versi 32-bit dan 64-bit yang dibangun oleh orang-orang baik dari membase / couchbase / apapun yang masih tersedia, URL blognya telah berubah:

Biner 32-bit dari memcached 1.4.4 sebagai layanan 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

Biner 64-bit dari memcached 1.4.4 sebagai layanan 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

Versi 64-bit memang memiliki waktu aktif yang salah.

Jadi mungkin Anda menginginkan biner 1.4.2 ini sebagai gantinya:

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

Versi 32-bit yang disertakan dengan MemCacheDManager juga mendukung yang berjalan pada Windows 2000 (tanpa 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

Untuk membongkar msi:

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

Lennie
sumber
Couchbase tampaknya sekarang mendorong pendekatan yang berbeda couchbase.com/memcached
Mike Gifford
6

Memcached 1.4.5 biner untuk win x64 dapat ditemukan di sini: http://downloads.northscale.com/memcached-1.4.5-amd64.zip

Pilihan lain adalah menginstal Couchbase Server 1.8.0 x64 dari sini: http://www.couchbase.com/download , memcache yang dibundel tampaknya versi 1.7.1.1 (terdengar seperti versi internal, saya tidak tahu yang mana adalah yang asli)

Untuk menjalankan memcache sebagai layanan, tutorial ini mungkin cukup:

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

alexandrul
sumber
6

Binari terbaru

NorthScale memiliki versi yang sangat lama (yang terbaru adalah 1.4.5 dari April 2010) tetapi ada seorang pria yang menawarkan binari Memcached 64-bit untuk Windows yang dikompilasi menggunakan Cygwin (tetapi mereka tidak memerlukannya diinstal) di github repositori GitHub miliknya. com / nono303 / memcached .

Misalnya, binari dari versi terbaru yang dirilis (saat menulis jawaban ini) 1.5.16 ada di sini . Ada versi 32 dan 64-bit.

Memcache sebagai Layanan Windows

Jika Anda ingin menginstalnya sebagai layanan Windows, Anda dapat menggunakan, misalnya, Open-source Non-Sucking Service Manager :

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

Lihat dokumentasi untuk detailnya.

David Ferenczy Rogožan
sumber
3

Saya pribadi merasa bahwa Anda harus mengkompilasi ulang aplikasi menggunakan kompiler 64-bit (jelas pada mesin 64-bit) untuk memaksimalkan Memcache pada platform 64-bit. Ini mungkin bukan tugas yang mudah tergantung pada kodenya. Jika itu ditulis dengan portabilitas 64-bit maka itu bisa menjadi kompilasi ulang sederhana. Jika belum, maka Anda bisa bersiap untuk sedikit menambal sebelum membuatnya dibangun .. dan kemudian Anda harus memverifikasi bahwa Anda tidak merusak apa pun!

Saya tidak berpikir Anda melebih-lebihkan perbedaan antara 32 dan 64-bit sama sekali. Kesalahan umum adalah berasumsi bahwa pekerjaan tersebut adalah kompilasi ulang sederhana padahal sebenarnya tidak. Ada lebih banyak masalah portabilitas daripada yang disadari kebanyakan orang. Hanya karena aplikasi dibangun dan Anda berakhir dengan sebuah biner, itu tidak berarti bahwa biner tersebut akan berperilaku sebagaimana mestinya. Terutama ketika mungkin berinteraksi dengan kode 32-bit lainnya.

Karena itu, mungkin ada baiknya mencobanya!

Semoga berhasil. Bersulang!


@ Lars: Saya sarankan membaca pertanyaan sebelum mencoba menjawab.

@John Sibly & @DannySmurf: mengingat sifat Memcached dan apa yang ingin dicapai, tentunya Anda tidak ingin menjalankan versi 32-bit pada mesin 64-bit? Jika Anda memiliki mesin berkemampuan 64-bit, masuk akal untuk menjalankan versi 64-bit untuk memanfaatkan fitur perangkat keras secara maksimal.

OJ.
sumber
3

Saya memiliki memcached-1.2.1 untuk win32 yang awalnya diunduh dari sini: http://jehiah.cz/projects/memcached-win32/ (tetapi sekarang untuk beberapa alasan itu adalah tautan yang rusak).

Ini adalah bagaimana saya berhasil menjalankan memcache untuk Win32 di Windows Server 2008 R2, 64 bit. memcached.exe -> properti -> Kompatibilitas -> Jalankan program ini dalam mode kompatibilitas untuk: Windows XP (SP 3) . Perhatikan bahwa pengguna Uriel Katz menyebutkan dalam diskusi ini bahwa metode ini dibatasi penggunaan memori 2GB.

jim77
sumber
2

Saya baru saja mencari memcache pada sistem Windows 64bit dan menemukan ini. Sejauh ini belum ada versi memcache Win64. Tetapi saya baru saja memulai memcached.exe dengan perintah yang sesuai melalui cmd dan itu berjalan dengan baik. Saya menggunakan Windows Vista 64bit, tidak tahu apakah ada perbedaan antara Vista dan versi server.

Hormat kami, Fleshgrinder


sumber
Terima kasih untuk ini - memulainya dari cmd bukanlah masalahnya - menginstalnya sebagai layanan adalah masalahnya. salam, Rob G
RobertTheGrey
1

Teman, Codeplex adalah temanmu -> periksa port ini. Dulu memiliki rilis 64bit, tetapi Anda dapat mengunduh yang terbaru dan mengkompilasi untuk 64bit (cukup mudah) atau memeriksa rilis sebelumnya.

Pure.Krome
sumber
1
Hai Pure.Krome, terima kasih atas infonya tetapi saya telah melihat halaman ini dan saya belum pernah melihat versi server 64 bit. Dan tidak - sesuai jawaban OJ di atas, Anda tidak bisa "dengan mudah" mengkompilasi ke 64bit kecuali kodenya telah ditulis seperti itu, dan bekerja dengan memori selalu merupakan tempat yang buruk untuk menguji teori itu ...
RobertTheGrey
hmm. ahh -> bit x64 adalah versi BETA, jadi telah diganti dengan beberapa pembaruan yang lebih baru. itu ditemukan di sini: codeplex.com/memcachedproviders/Release/…
Pure.Krome
1

Versi 32 bit berjalan pada 64 bit melalui WOW64 tetapi prosesnya masih terbatas pada 2GB, dengan versi 64-bit Anda dapat melampaui itu ke lebih dari satu mesin.

Uriel Katz
sumber
0

Apakah Anda yakin bahwa versi 32-bit tidak hanya berjalan di Windows 64-bit, tanpa modifikasi? Banyak hal bisa dilakukan.

Jika gagal, apakah Anda benar-benar mencoba mengompilasinya untuk 64-bit? Pemindaian singkat dari beberapa Google Grup, dll. Di mana orang-orang menanyakan pertanyaan yang sama menunjukkan bahwa itu mungkin solusi yang tepat untuk ini. Saya pikir Anda mungkin melebih-lebihkan perbedaan antara Windows 32-bit dan 64-bit (setidaknya sejauh kompilasi aplikasi asli berjalan).

TheSmurf
sumber
0

FYI, saya tidak bisa mendapatkan versi 64 bit (dari sini http://labs.northscale.com/memcached-packages/ ) untuk diinstal sebagai layanan sampai saya menjalankan memcache sebagai administrator.

Saya baru saja membuka properti yang dapat dieksekusi, lalu tab Kompatibilitas, dan mencentang "Jalankan program ini sebagai administrator" (Ada banyak cara lain untuk melakukan ini, tetapi tampaknya paling sederhana)

Kemudian saya akhirnya berhasil menjalankan: memcached -d install

Jangan lupa untuk memulai layanan setelah diinstal juga :)

Jasper Rosenberg
sumber
0

Anda selalu dapat menjalankan beberapa contoh proses memcache 32-bit dalam satu kotak, memungkinkan mesin tersebut melayani total> 2GB ruang memcache.

Ken
sumber