Frage

Weiß jemand WENN, WANN oder WIE ich kann erhalten Im Speicher gespeichert Läuft es in einer Windows 64-Bit-Umgebung?

Ich richte eine neue Hosting-Lösung ein und würde viel lieber ein 64-Bit-Betriebssystem ausführen. Da es sich um eine ASP.Net MVC-Lösung mit SQL Server DB handelt, wird das Betriebssystem entweder Windows Server 2003 oder (hoffentlich!) 2008 sein.

Ich weiß, dass dies zu einer Debatte über 32-Bit vs. 64-Bit auf Servern führen könnte, aber sagen wir einfach, dass ich 64-Bit bevorzuge und dass ich welche habe sehr Gut Gründe dafür.

Bisher habe ich eine Reihe von Optionen ausprobiert und eine gefunden bisschen von helfen hing damit zusammen, dies auf einem 32-Bit-Rechner zum Laufen zu bringen (und war, wie ich hinzufügen möchte, erfolgreich), aber seit dem Original Windows-Port ist Win32-spezifisch, wird dies bei der Installation als Dienst auf x64 kaum helfen.Es besteht auch eine Abhängigkeit von der libevent wofür ich nur eine Win32-kompilierte Version bekommen kann.

Ich vermute, dass es nicht funktionieren würde, das alles einfach in C++ zu laden und auf „Kompilieren“ (für 64-Bit) zu klicken, nicht zuletzt wegen der komplizierten Unterschiede zwischen 32- und 64-Bit-Architekturen, aber ich frage mich, ob jemand daran arbeitet, das hinzubekommen der Boden?Leider liegt mein Fachwissen nur im Bereich verwalteter Code (C#), sonst würde ich versuchen, das selbst in die Hand zu nehmen, aber ich kann nicht glauben, dass ich der Einzige da draußen bin, der es versucht zwischengespeichert Läuft auf einem 64-Bit-Windows-Server ... bin ich das??

Für jede Hilfe oder Empfehlung bin ich dankbar ...


Aktualisieren

Ja, ich fürchte, ich suche immer noch nach einer Antwort darauf – alle meine Bemühungen (mit meinen erbärmlichen C++-Kenntnissen), einen stabilen Build zu erstellen, sind gescheitert – ich habe einen Server und 3 VMs zerstört, nur um es auszuprobieren, also ich jetzt Wenden Sie sich an die echten Experten.Hat jemand vor, dies auf 64bit zu portieren?Oder schlagen Sie wirklich vor, dass ich stattdessen MS Velocity verwende?Ich schaudere bei dem Gedanken...


Aktualisieren:@Lars – Ich verwende tatsächlich Enyim – es ist sehr gut, aber Sie beziehen sich auf einen Client und nicht auf den Serverteil.

@DannySmurf – Ich konnte es nur als Dienst auf einem 32-Bit-Betriebssystem installieren.Das 64-Bit-Betriebssystem lehnt die Installation dieses Win32-Dienstes ab.Ja, natürlich funktioniert viel Win32-Code nahtlos auf der x64-Architektur, sodass Sie 32-Bit-Apps (wie zum Beispiel Office) oder Spiele unter Vista/XP 64 usw. ausführen können, aber das lässt sich nicht direkt auf Dienste übertragen.Ich bin kein Experte, ich vermute, dass es mit den Synchronisierungen oder Eventing zu tun hat, die Dienste abonnieren müssen, und ich vermute, dass 64 und 32 nicht gut funktionieren.Ich freue mich über eine Korrektur, aber um Ihre Frage zu beantworten: Ja, ich habe es versucht.

@OJ – vielen Dank für die direkte Antwort.Das dachte ich mir, war mir aber nicht sicher, ob jemand anderes Vorschläge hatte oder diesen Weg bereits gegangen war.Wenn StackOverflow LIVE ist, werden vielleicht mehr Leute antworten und mich wissen lassen, ob dies etwas ist, das untersucht wird, und obwohl ich versuchen kann, es selbst zu kompilieren, kann ich dem (aufgrund meiner C++-Erfahrung) einfach nicht „vertrauen“. würde Zuverlässigkeit auf „Enterprise-Niveau“ in einer so entscheidenden Komponente großer skalierbarer Lösungen bieten.Ich denke, dass es eher eines fundierten Eingreifens als meines unhygienisierten experimentellen Ansatzes bedarf, bevor ich zuversichtlich sein könnte.Ein kleines Versehen meinerseits könnte zum Absturz der Website führen.Nun ja...bis zum nächsten Mal...

War es hilfreich?

Lösung

North Scale Labs haben einen Build von Memcached 1.4.4 für Windows x64 veröffentlicht:

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

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

AKTUALISIEREN:Sie haben kürzlich Memcached Server veröffentlicht – immer noch KOSTENLOS, aber erweiterte Distribution mit Clustering, webbasierter Admin-/Statistik-Benutzeroberfläche usw.(Ich bin in keiner Weise mit ihnen verwandt) Schau es dir an unter http://northscale.com/products/memcached.html und herunterladen unter: http://www.northscale.com/download.php?a=d

UPDATE 2:NorthScale Memcached ist nicht mehr als eigenständiger Download verfügbar.Jetzt haben sie es zu einem Teil ihres kommerziellen No-SQL-DB-Angebots namens Membase gemacht.Es kann so konfiguriert werden, dass es nur im Memcached-Modus ausgeführt wird (d. h.ohne Persistenz) und es gibt auch eine 100 % kostenlose Version.Schauen Sie es sich hier an: http://www.membase.org/downloads

UPDATE 3:MemBase hat sich mit CouchDB abgefunden und ein Hybridproduktangebot namens CouchBase entwickelt.Sie bieten immer noch eine kostenlose „Community“-Version unter an http://www.couchbase.com/download

Andere Tipps

Nur damit die Leute es wissen, die 32-Bit- und 64-Bit-Version, wie sie von den guten Leuten von membase/couchbase/whatever erstellt wurde, ist immer noch verfügbar, die Blog-URL hat sich allerdings geändert:

32-Bit-Binärdatei von memcached 1.4.4 als Windows-Dienst:

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-Bit-Binärdatei von Memcached 1.4.4 als Windows-Dienst:

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

Die 64-Bit-Version hat die falsche Betriebszeit.

Vielleicht möchten Sie stattdessen diese Binärdatei von 1.4.2:

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

Die im MemCacheDManager enthaltene 32-Bit-Version unterstützt auch die Ausführung unter Windows 2000 (kein 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

So entpacken Sie die MSI:

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

Memcached 1.4.5 Binärdatei für Win x64 finden Sie hier: http://downloads.northscale.com/memcached-1.4.5-amd64.zip

Eine andere Möglichkeit wäre, Couchbase Server 1.8.0 x64 von hier aus zu installieren: http://www.couchbase.com/download, der gebündelte Memcached scheint Version 1.7.1.1 zu sein (klingt wie eine interne Version, ich kann nicht sagen, welche die echte ist)

Für die Ausführung von memcached als Dienst könnte dieses Tutorial ausreichen:

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

Ich persönlich bin der Meinung, dass Sie die Anwendung mit einem 64-Bit-Compiler (natürlich auf einem 64-Bit-Computer) neu kompilieren müssten, um Memcached auf einer 64-Bit-Plattform optimal nutzen zu können.Abhängig vom Code ist dies möglicherweise keine leichte Aufgabe.Wenn es im Hinblick auf die 64-Bit-Portabilität geschrieben wurde, könnte es sich um eine einfache Neukompilierung handeln.Wenn dies nicht der Fall ist, müssen Sie möglicherweise einige Patches vornehmen, bevor Sie es erstellen können.und dann müssten Sie überprüfen, ob Sie nichts kaputt gemacht haben!

Ich glaube nicht, dass Sie die Unterschiede zwischen 32- und 64-Bit überhaupt überschätzen.Ein häufiger Fehler besteht darin, anzunehmen, dass es sich bei dem Job um eine einfache Neukompilierung handelt, obwohl dies in Wirklichkeit nicht der Fall ist.Es gibt mehr Portabilitätsprobleme, als den meisten Menschen bewusst ist.Nur weil die Anwendung erstellt wird und am Ende eine Binärdatei vorliegt, heißt das nicht, dass sich die Binärdatei so verhält, wie sie sollte.Vor allem, wenn es mit anderem 32-Bit-Code interagieren kann.

Trotzdem könnte es sich lohnen, es einmal auszuprobieren!

Viel Glück.Prost!


@Lars:Ich empfehle, die Frage zu lesen, bevor Sie eine Antwort versuchen.

@John Sably & @DannySmurf:Angesichts der Natur von Memcached und seiner Ziele möchten Sie doch sicher nicht eine 32-Bit-Version auf einem 64-Bit-Computer ausführen?Wenn Sie über einen 64-Bit-fähigen Computer verfügen, wäre es sinnvoll, eine 64-Bit-Version auszuführen, um die Funktionen der Hardware optimal nutzen zu können.

Ich habe ein Memcached-1.2.1 für Win32, das ursprünglich von hier heruntergeladen wurde: http://jehiah.cz/projects/memcached-win32/ (aber jetzt ist es aus irgendeinem Grund ein defekter Link).

So habe ich es geschafft, memcached für Win32 unter Windows Server 2008 R2, 64 Bit, auszuführen.memcached.exe -> Eigenschaften -> Kompatibilität -> Starte dieses Programm im Kompatibilitätsmodus für:Windows XP (SP 3).Beachten Sie, dass der Benutzer Uriel Katz in dieser Diskussion erwähnt, dass diese Methode auf 2 GB Arbeitsspeicher beschränkt ist.

Ich habe gerade nach Memcached auf einem 64-Bit-Windows-System gesucht und das hier gefunden.Bisher gibt es keine zwischengespeicherte Win64-Version.Aber ich habe gerade die memcached.exe mit den entsprechenden Befehlen über cmd gestartet und sie läuft einfach einwandfrei.Ich verwende Windows Vista 64bit und weiß nicht, ob es Unterschiede zwischen Vista und den Serverversionen gibt.

Schönste Grüße Feschgrinder

Alter, Codeplex ist dein Freund -> Schauen Sie sich diesen Port an davon.Früher gab es eine 64-Bit-Version, aber Sie können entweder die neueste Version herunterladen und für 64-Bit kompilieren (ziemlich einfach) oder die vorherigen Versionen überprüfen.

Die 32-Bit-Version läuft auf 64-Bit über WOW64, aber der Prozess ist immer noch auf 2 GB beschränkt, mit einer 64-Bit-Version können Sie darüber hinausgehen und mehr als einen einzelnen Computer haben.

Sind Sie sicher, dass die 32-Bit-Version nicht einfach ohne Änderungen unter 64-Bit-Windows läuft?Die meisten Dinge tun es.

Falls dies nicht gelingt, haben Sie tatsächlich versucht, es einfach für 64-Bit zu kompilieren?Ein kurzer Blick auf einige Google-Gruppen usw., in denen Personen dieselbe Frage gestellt haben, legt nahe, dass dies möglicherweise genau die Lösung für dieses Problem ist.Ich denke, Sie überschätzen wahrscheinlich den Unterschied zwischen 32-Bit- und 64-Bit-Windows (zumindest was das Kompilieren einer nativen Anwendung betrifft).

Zu Ihrer Information: Ich konnte die 64-Bit-Version (von hier aus) nicht bekommen http://labs.northscale.com/memcached-packages/), um es als Dienst zu installieren, bis ich memcached als Administrator ausgeführt habe.

Ich bin einfach zu den Eigenschaften der ausführbaren Datei gegangen, dann zur Registerkarte „Kompatibilität“ und habe „Dieses Programm als Administrator ausführen“ aktiviert (es gibt unzählige andere Möglichkeiten, dies zu tun, aber es schien am einfachsten zu sein)

Dann konnte ich endlich erfolgreich ausführen:memcached -d installieren

Vergessen Sie nicht, den Dienst auch nach der Installation zu starten :)

Sie können jederzeit mehrere Instanzen von 32-Bit-Memcache-Prozessen auf einer Box ausführen, sodass dieser Computer insgesamt mehr als 2 GB Memcache-Speicherplatz bereitstellen kann.

Wenn dies helfen kann, habe ich einen Wrapper erstellt, der auf einer Zusammenstellung von 1.4.5 64-Bits im Memcache basiert, die durch gefunden wurden diese Seite (Direkter Link zur NorthScale-Binärdatei).

Es ist ein Windows-Dienst und funktioniert perfekt in einer Produktionsumgebung:
https://github.com/eric-b/MemcachedService64

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top