Memcached を Windows (x64) 64 ビット環境で実行できますか?
質問
誰か知っていますか もし, いつ または どうやって 入手できます Memcached Windows 64ビット環境で実行していますか?
新しいホスティング ソリューションをセットアップしていて、64 ビット OS を実行したいと考えています。これは SQL Server DB を備えた ASP.Net MVC ソリューションであるため、OS は Windows Server 2003 または (できれば!) 2008 になる予定です。
これがサーバー上の 32 ビットと 64 ビットに関する議論に波及する可能性があることは承知していますが、私の好みは 64 ビットであり、いくつかのビットがあるとだけ言っておきましょう。 とても 良い 理由。
これまでに、いくつかのオプションを試してみた結果、 少し の ヘルプ これを 32 ビット マシンで起動することに関連します (そして、追加するかもしれませんが成功しました) が、元の Windowsポート これは Win32 に固有のものであり、x64 にサービスとしてインストールする場合にはほとんど役に立ちません。また、 リベベント Win32 コンパイル済みバージョンしか入手できません。
特に 32 ビットと 64 ビットのアーキテクチャには複雑な違いがあるため、これを単に C++ でロードして「コンパイル」(64 ビットの場合)を押すだけでは機能しないのではないかと思いますが、これを解決することに取り組んでいる人はいるのだろうかと思っています。地面?残念ながら、私の専門知識はマネージド コード (C#) のみにあります。そうでない場合は、自分でこれに挑戦しようとしますが、それを取得しようとしているのが私だけであるとは信じられません。 memcached 64 ビット Windows サーバー上で実行しています...私は??
助けやアドバイスをいただければ幸いです...
アップデート
はい、申し訳ありませんが、まだこれに対する答えを探しています - 安定したビルドを作成するための私の努力(情けない C++ スキルによる)はすべて失敗しました - 1 台のサーバーと 3 台の VM を破棄し、試してみたところなので、今、本物の専門家に頼ってください。これを64ビットに移植する予定の人はいますか?それとも、代わりに MS Velocity を使用することを本当に提案していますか?そう思うと身震いします...
アップデート:@Lars - 私は実際に Enyim を使用しています。これは非常に優れていますが、あなたが言及しているのはサーバー部分ではなくクライアントです。
@DannySmurf - 32ビットOS上のサービスとしてのみインストールできました。64 ビット OS は、この Win32 サービスのインストールを拒否します。もちろん、多くの Win32 コードは x64 アーキテクチャ上でシームレスに動作するため、32 ビット アプリ (たとえば Office など) やゲームを Vista/XP 64 などで実行できますが、これはサービスに関しては直接的には当てはまりません。私は専門家ではありませんが、サービスがサブスクライブする必要がある同期やイベントに関係しているのではないかと思います。64 と 32 は適切に動作しないのではないかと思います。この点について修正していただければ幸いですが、あなたの質問に答えるために、はい、試してみました。
@OJ - 率直なご返答ありがとうございます。私も同じように考えましたが、他の誰かが提案を持っているか、またはすでにこの方法を採用しているかどうかはわかりませんでした。おそらく StackOverflow が LIVE になったら、より多くの人が反応して、これが調査中であるかどうかを私に知らせてくれるでしょう。自分でコンパイルしてみることはできますが、(私の C++ 経験レベルでは) それを「信頼」することはできません。大規模なスケーラブルなソリューションのこのような重要なコンポーネントに「エンタープライズ レベル」の信頼性を提供します。自信を持てるようになるには、私の無衛生な実験的アプローチではなく、知識に基づいた介入が必要だと思います。私のちょっとした見落としがあれば、サイトがダウンしてしまう可能性があります。しかたがない...次回まで...
解決
North Scale ラボは、Windows x64 用の memcached 1.4.4 のビルドをリリースしました。
http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available
http://labs.northscale.com/memcached-packages/
アップデート:彼らは最近 Memcached Server をリリースしました - まだ無料ですが、クラスタリング、Web ベースの管理/統計 UI などを備えた強化されたディストリビューションです。(私は彼らとは全く関係ありません) ぜひチェックしてみてください。 http://northscale.com/products/memcached.html そして、次の場所からダウンロードしてください。 http://www.northscale.com/download.php?a=d
更新 2:NorthScale Memcached はスタンドアロンのダウンロードとしては利用できなくなりました。現在、同社はこれを Membase と呼ばれる商用 No-SQL DB 製品の一部にしました。Memcached 専用モードで実行するように構成できます (つまり、永続化なし)、完全に無料のバージョンもあります。ここで確認してください: http://www.membase.org/downloads
更新 3:MemBase は CouchDB と連携し、CouchBase と呼ばれるハイブリッド製品を開発しました。彼らは依然として無料の「コミュニティ」バージョンを次の場所で提供しています。 http://www.couchbase.com/download
他のヒント
membase/couchbase/whatever の善良な人々によって構築された 32 ビットおよび 64 ビット バージョンはまだ利用可能ですが、ブログの URL は変更されています。
Windows サービスとしての memcached 1.4.4 の 32 ビット バイナリ:
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 サービスとしての memcached 1.4.4 の 64 ビット バイナリ:
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/
MemCacheDManager に含まれる 32 ビット バージョンは、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
Win x64 用の Memcached 1.4.5 バイナリはここにあります。 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/
個人的には、64 ビット プラットフォームで Memcached を最大限に活用するには、64 ビット コンパイラ (当然 64 ビット マシン上で) を使用してアプリケーションを再コンパイルする必要があると感じています。コードによっては、これは簡単な作業ではない場合があります。64 ビットの移植性を念頭に置いて作成されている場合は、単純な再コンパイルで済む可能性があります。そうでない場合は、ビルドする前にかなりのパッチを適用する必要がある可能性があります。そして、何も壊していないことを確認する必要があります。
32 ビットと 64 ビットの違いを過大評価しているとはまったく思いません。よくある間違いは、実際にはそうではないのに、ジョブが単純な再コンパイルであると想定することです。ほとんどの人が思っている以上に移植性の問題があります。アプリケーションがビルドされてバイナリが完成したからといって、そのバイナリが正しく動作するとは限りません。特に他の 32 ビット コードと相互作用する可能性がある場合。
そうは言っても、試してみる価値はあるかもしれません。
幸運を。乾杯!
@ラース:回答を試みる前に質問を読むことをお勧めします。
@ジョン・シブリーと@ダニー・スマーフ:Memcached の性質とその目的を考えると、64 ビット マシン上で 32 ビット バージョンを実行したくはないはずです。64 ビット対応のマシンをお持ちの場合は、ハードウェアの機能を最大限に活用するために 64 ビット バージョンを実行するのが合理的です。
win32 用の memcached-1.2.1 を最初にここからダウンロードしました。 http://jehiah.cz/projects/memcached-win32/ (ただし、現在は何らかの理由でリンクが切れています)。
これは、Windows Server 2008 R2 (64 ビット) 上で Win32 用の memcached を実行する方法です。memcached.exe -> プロパティ -> 互換性 -> このプログラムを互換モードで実行すると、次のことが可能になります。Windows XP (SP3)。ユーザー Uriel Katz がこのディスカッションの中で、この方法では使用できるメモリが 2 GB に制限されていると述べていることに注意してください。
64 ビット Windows システムで memcached を検索していて、これを見つけました。今のところ、Win64 memcached バージョンはありません。しかし、cmd経由で適切なコマンドを使用してmemcached.exeを起動したところ、正常に実行されました。Windows Vista 64 ビットを使用していますが、Vista とサーバーのバージョンに違いがあるかどうかはわかりません。
親切な肉をよろしくお願いします
お前、 コードプレックス あなたの友達です -> このポートをチェックしてください それの。以前は 64 ビット リリースがありましたが、最新のものをダウンロードして 64 ビット用にコンパイルする (非常に簡単) か、以前のリリースを確認することができます。
32 ビット バージョンは WOW64 経由で 64 ビット上で実行されますが、プロセスは依然として 2 GB に制限されていますが、64 ビット バージョンでは、それを超えて単一のマシンが持つ以上の処理を行うことができます。
32 ビット バージョンはそのままでは 64 ビット Windows 上で動作しないということでよろしいですか?ほとんどのことはそうなります。
それができない場合は、実際に 64 ビット用にコンパイルしてみましたか?人々が同じ質問をしたいくつかの Google グループなどを簡単に調べてみると、それがまさにこの問題に対する解決策である可能性があることがわかります。おそらく、32 ビット Windows と 64 ビット Windows の違いを過大評価していると思います (少なくともネイティブ アプリケーションのコンパイルに関する限り)。
参考までに、64ビット版は入手できませんでした(ここから) http://labs.northscale.com/memcached-packages/) 管理者として memcached を実行するまで、サービスとしてインストールします。
実行可能ファイルのプロパティに移動し、次に「互換性」タブに移動し、「管理者としてこのプログラムを実行する」にチェックを入れました(これを行うには他にもたくさんの方法がありますが、これが最も簡単だと思われました)
その後、最終的に正常に実行できました。memcached -d インストール
インストール後にサービスを開始することも忘れないでください:)
1 つのボックス上で 32 ビット memcached プロセスの複数のインスタンスを常に実行できるため、そのマシンで合計 2 GB を超える memcache スペースを提供できます。
これが役立つ場合は、memcached 1.4.5 64 ビットのコンパイルに基づいてラッパーを作成しました。 このページ (NorthScale バイナリへの直接リンク).
これは Windows サービスであり、運用環境では完全にうまく機能します。
https://github.com/eric-b/MemcachedService64