Memcached'i Windows (x64) 64bit ortamında çalıştırabilir miyim?


87

Bilen var mı EĞER , NE ZAMAN ya NASIL ben alabilirim Memcached Windows 64bit ortamında çalışan?

Yeni bir barındırma çözümü kuruyorum ve 64bit işletim sistemini çalıştırmayı tercih ederim ve SQL Server DB ile bir ASP.Net MVC çözümü olduğu için işletim sistemi ya Windows Server 2003 ya da (umarım!) 2008 olacak.

Bunun sunucularda 32bit ve 64bit ile ilgili bir tartışmaya dönüşebileceğini biliyorum, ancak tercihimin 64bit olduğunu ve çok iyi nedenlerim olduğunu söyleyelim .

Şimdiye kadar bir dizi seçeneği denedik ve bir buldum biraz ait yardımıyla bir 32 bit makinede bu kalkarak ilgili (ve ekleyebilirsiniz başarılı), ancak orijinal beri Windows portu Win32 özgü olduğunu, bu pek yardım edecek x64'e bir hizmet olarak yüklerken. Ayrıca libevent'e bağımlılığı var, bunun için sadece Win32 derlenmiş sürümünü edinebilirim.

Tüm bunları C ++ 'da yükleyip "derleme" ye (64bit için) basmanın işe yaramayacağından şüpheleniyorum, en azından 32 ve 64bit mimarilerindeki karmaşık farklılıklar nedeniyle, ancak birinin bunu çözmek için çalışıp çalışmadığını merak ediyorum. yer? Ne yazık ki, uzmanlığım yalnızca yönetilen kodda (C #) yatıyor, aksi takdirde bunu kendi başıma denerdim, ancak 64 bit Windows sunucusunda memcached çalıştırmaya çalışan tek kişinin ben olduğuma inanamıyorum .. ..ben miyim?


Güncelleme

Evet, korkarım hala buna bir cevap arıyorum - kararlı bir yapı oluşturmak için tüm çabalarım (acınası C ++ becerilerimle) başarısız oldu - bir sunucuyu çöpe attım ve 3 VM'yi sadece denedim, şimdi ben gerçek uzmanlara dönün. Bunu 64bit'e taşımayı planlayan var mı? Yoksa gerçekten onun yerine MS Velocity kullanmamı mı öneriyorsunuz? Ben düşünce titreme.


Güncelleme: @Lars - Aslında Enyim'i kullanıyorum - bu çok iyi, ancak bahsettiğiniz şey sunucu kısmı değil, bir istemci.

@DannySmurf - Sadece 32 bitlik bir işletim sistemine servis olarak yükleyebildim. 64 bit işletim sistemi bu Win32 hizmetinin kurulumunu reddeder. Tabii ki evet, birçok Win32 kodu x64 mimarisinde sorunsuz bir şekilde çalışır, bu nedenle 32 bit uygulamaları (örneğin Office gibi) veya Vista / XP 64 vb. Üzerinde oyunları çalıştırabilirsiniz, ancak bu, hizmetler söz konusu olduğunda doğrudan tercüme edilmez. Uzman değilim, bunun hizmetlerin abone olması gereken senkronizasyonlar veya olaylarla ilgisi olduğundan şüpheleniyorum ve 64 ve 32'nin iyi oynamadığından şüpheleniyorum. Bunların herhangi birinde düzeltildiğim için mutluyum, ama sorunuza cevap vermekten - evet denedim.

@OJ - açık sözlü yanıt için çok teşekkürler. Ben de öyle düşündüm, ancak başka birinin önerisi olup olmadığından veya bu rotadan çoktan indiğinden emin değildim. Belki StackOverflow CANLI olduğunda, daha fazla insan yanıt verecek ve bunun araştırılan bir şey olup olmadığını bana bildirecek ve bunu kendim deneyip derleyebilsem de - buna "güvenemiyorum" (C ++ deneyim seviyemle) ölçeklenebilir çözümlerin böylesine önemli bir bileşeninde "Kurumsal Düzeyde" güvenilirlik sağlayacaktır. Kendime güvenmeden önce, sağlıksız deneysel yaklaşımım yerine eğitimli müdahaleye ihtiyaç duyacağını düşünüyorum. Benim açımdan küçük bir gözetim, siteyi çökertebilir. Oh pekala ... bir dahaki sefere kadar.


Hizmeti kaydetmeye çalışırken hangi hata oluşuyor? 32-bit, 64-bit ortamlarda geliştirilen çeşitli hizmetleri kurdum ve hiç sorun yaşamadım. Bir komut satırını 32 bit olarak açmayı deneyin ve sc.exe
lsalamon

Yanıtlar:


52

Kuzey Ölçekli laboratuvarlar, Windows x64 için memcached 1.4.4'ün bir yapısını yayınladı:

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

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

GÜNCELLEME: Kısa süre önce Memcached Sunucusunu piyasaya sürdüler - hala ÜCRETSİZ ancak kümeleme, web tabanlı yönetici / istatistik kullanıcı arayüzü vb. İle geliştirilmiş dağıtım (bunlarla hiçbir şekilde ilgili değilim) http://northscale.com/ adresinden kontrol edin products / memcached.html ve şu adresten indirin: http://www.northscale.com/download.php?a=d

GÜNCELLEME 2: NorthScale Memcached artık bağımsız bir indirme olarak mevcut değildir. Şimdi bunu, Membase adlı ticari SQL No-DB tekliflerinin bir parçası haline getirdiler. Yalnızca Memcached modunda (yani kalıcılık olmadan) çalışacak şekilde yapılandırılabilir ve% 100 ücretsiz sürümü de vardır. Buradan kontrol edin: http://www.membase.org/downloads

GÜNCELLEME 3: MemBase, CouchDB ile yattı ve CouchBase adında bir hibrit ürün teklifi üretti. Hâlâ http://www.couchbase.com/download adresinde ücretsiz bir "Topluluk" sürümü sunuyorlar.


3
Düzenleyecek temsilcim yok ama buradaki 1. bağlantı şu anda doğru değil; 64 ile bit arasında bir kısa çizgi gereklidir: blog.northscale.com/northscale-blog/2009/12/…
Maggie

22
İndirme bağlantısı hala çalışıyor: s3.amazonaws.com/downloads.northscale.com/…
IEnumerator

Memcached sunucusunu Windows için komut satırını kullanarak nasıl yapılandırabilirim? Codeproject.com/Articles/96698/… bağlantısını denedim . Ancak yapılandırılamıyor.
Naren

Şu anda, Northscale indirme web sayfası artık mevcut olmadığından, şu sayfayı belirtiyorum: programmersought.com/article/55551624598 Not: 1.4.5 sürümü bir hizmet olarak değil, bir görev olarak yüklenmelidir (
eskiden

25

İnsanların bildiği gibi, 32-bit ve 64-bit versiyonları, membase / couchbase / hala mevcut olan iyi insanlar tarafından oluşturulmuşsa, blog URL'si değişti:

Windows hizmeti olarak memcached 1.4.4'ün 32 bit ikili dosyası:

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

Windows hizmeti olarak memcached 1.4.4'ün 64-bit ikili dosyası:

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 bit sürümde yanlış çalışma süresi var.

Öyleyse belki bunun yerine bu 1.4.2 ikili dosyasını istersiniz:

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

MemCacheDManager'da bulunan 32 bit sürümü, Windows 2000'de çalışmayı da destekler (IPv6 yok):

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 paketini açmak için:

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


Couchbase şimdi farklı bir yaklaşımı zorluyor gibi couchbase.com/memcached
Mike Gifford

6

X64 kazanmak için Memcached 1.4.5 ikili dosyası burada bulunabilir: http://downloads.northscale.com/memcached-1.4.5-amd64.zip

Başka bir seçenek de Couchbase Server 1.8.0 x64'ü buradan kurmak olabilir: http://www.couchbase.com/download , paketlenmiş memcached 1.7.1.1 sürümü gibi görünüyor (dahili bir sürüm gibi geliyor, hangisi olduğunu anlayamıyorum gerçek olan)

Memcached'i bir servis olarak çalıştırmaya gelince, bu eğitim yeterli olabilir:

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


6

Güncel İkili Dosyalar

NorthScale'in gerçekten eski sürümleri var (en yenisi Nisan 2010'dan itibaren 1.4.5'tir) ancak GitHub deposu github'unda Cygwin kullanılarak derlenen (ancak kurulmasını gerektirmeyen) Windows için 64-bit Memcached ikili dosyaları sunan bir adam var . com.tr / nono303 / memcached .

Örneğin, en son yayınlanan sürümün ikili dosyaları (bu cevabı yazarken) 1.5.16 buradadır . Hem 32 hem de 64 bit sürümler var.

Windows Hizmeti olarak Memcached

Bunu bir Windows hizmeti olarak yüklemek istiyorsanız, örneğin açık kaynaklı Emici Olmayan Hizmet Yöneticisi'ni kullanabilirsiniz :

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

Ayrıntılar için belgelere bakın.


3

Ben şahsen 64 bitlik bir platformda Memcached'den en iyi şekilde yararlanmak için uygulamayı 64 bitlik bir derleyici (belli ki 64 bitlik bir makinede) kullanarak yeniden derlemeniz gerektiğini düşünüyorum. Koda bağlı olarak bu kolay bir iş olmayabilir. 64 bit taşınabilirlik düşünülerek yazıldıysa, basit bir yeniden derleme olabilir. Eğer yapmadıysa, onu inşa etmeden önce epeyce yama yapmak isteyebilirsiniz .. ve sonra hiçbir şeyi kırmadığınızı doğrulamanız gerekir!

32 ve 64 bit arasındaki farkları hiç abarttığınızı sanmıyorum. Yaygın bir hata, işin aslında basit değilken basit bir yeniden derleme olduğunu varsaymaktır. Çoğu insanın düşündüğünden daha fazla taşınabilirlik sorunu var. Sadece uygulama kurulduğu ve sonunda bir ikili dosya elde ettiğiniz için, ikili dosyanın olması gerektiği gibi davranacağı anlamına gelmez. Özellikle diğer 32 bitlik kodla etkileşime girebildiği zaman.

Bunu söyledikten sonra, bir döndürmeye değer olabilir!

İyi şanslar. Şerefe!


@Lars: Bir cevabı denemeden önce soruyu okumanızı tavsiye ederim.

@John Sibly & @DannySmurf: Memcached'in doğası ve neyi başarmayı hedeflediği düşünüldüğünde, 64 bitlik bir makinede 32 bit sürümü çalıştırmak istemezsiniz? 64 bit özellikli bir makineniz varsa, donanımın özelliklerinden en iyi şekilde yararlanmak için 64 bit sürümü çalıştırmak mantıklı olacaktır.


3

İlk olarak buradan indirilen win32 için memcached-1.2.1 var: http://jehiah.cz/projects/memcached-win32/ (ama şimdi bir sebepten dolayı kırık bir bağlantı).

Windows Server 2008 R2, 64 bit üzerinde Win32 için memcached çalıştırmayı bu şekilde başardım. memcached.exe -> özellikler -> Uyumluluk -> Bu programı aşağıdakiler için uyumluluk modunda çalıştırın: Windows XP (SP 3) . Uriel Katz kullanıcısının bu tartışmada bu yöntemin 2GB kullanım hafızasıyla sınırlı olduğunu belirttiğine dikkat edin.


2

64bit Windows sisteminde memcached arıyordum ve bunu buldum. Şimdiye kadar herhangi bir Win64 memcached sürümü yok. Ama memcached.exe'yi cmd aracılığıyla uygun komutlarla başlattım ve sadece iyi çalışıyor. Windows Vista 64bit kullanıyorum, Vista ve sunucu sürümleri arasında herhangi bir fark olup olmadığını bilmiyorum.

Saygılarımızla, Fleshgrinder


Bunun için teşekkürler - cmd'den başlamak sorun değildi - bir hizmet olarak yüklemek sorun oldu. Saygılarımızla, Rob G
RobertTheGrey

1

Ahbap, Codeplex senin arkadaşın -> bu bağlantı noktasına bir bak . Eskiden 64bit sürümü vardı, ancak en son sürümü indirip 64bit için derleyebilirsiniz (oldukça kolay) veya önceki sürümleri kontrol edebilirsiniz.


1
Merhaba Pure.Krome, bilgi için teşekkürler ama bu sayfayı gördüm ve 64 bit sunucu sürümünü hiç görmedim. Ve hayır - OJ'nin yukarıdaki cevabına göre, kod bu şekilde
yazılmadıkça 64bit'e

hmm. ahh -> x64 bit BETA sürümüydü, bu nedenle daha yeni güncellemelerle değiştirildi. burada bulunmuştur: codeplex.com/memcachedproviders/Release/...
Pure.Krome

1

32 bit sürüm, WOW64 aracılığıyla 64 bit üzerinde çalışır, ancak işlem hala 2 GB ile sınırlıdır, 64 bit sürümle bunun ötesine, tek bir makinenin sahip olacağından daha fazlasına geçebilirsiniz.


0

32 bit sürümün, değişiklik yapılmadan sadece 64 bit Windows'ta çalışmadığından emin misiniz? Çoğu şey yapar.

Başarısız olursa, gerçekten 64-bit için derlemeyi denediniz mi? İnsanların aynı soruyu sorduğu birkaç Google Grubunun kısa bir taraması, bunun tam olarak buna çözüm olabileceğini gösteriyor. Sanırım 32-bit ve 64-bit Windows arasındaki farkı abartıyorsunuz (en azından yerel bir uygulama derlemeye gelince).


0

Bilginize, yönetici olarak memcached'i çalıştırana kadar 64 bit sürümünü (buradan http://labs.northscale.com/memcached-packages/ ) bir hizmet olarak yükleyemedim.

Sadece yürütülebilir dosyanın özelliklerine, ardından Uyumluluk sekmesine gittim ve "Bu programı yönetici olarak çalıştır" seçeneğini işaretledim (Bunu yapmanın bir sürü başka yolu var, ancak en basit görünüyordu)

Sonra nihayet başarılı bir şekilde çalıştırmayı başardım: memcached -d install

Hizmeti de yükledikten sonra başlatmayı unutmayın :)


0

Her zaman tek bir kutuda 32 bit memcached işlemlerinin birden çok örneğini çalıştırabilir ve bu makinenin toplam> 2GB memcache alanı sunmasına izin verebilirsiniz.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.