Pergunta

Alguém sabe SE, QUANDO ou COMO Eu posso começar O Memcached sendo executado em um Windows de 64 bits do meio ambiente?

Eu estou a criação de uma nova solução de hospedagem e prefiro muito mais a executar um 64bit, e já que é um ASP.Net MVC solução com banco de dados SQL Server, o sistema operacional é ou vai ser Windows Server 2003 ou (hopfully!) 2008.

Eu sei que isso pode descambar em um debate a respeito de 32 bits vs 64 bits em servidores, mas vamos apenas dizer que a minha preferência é de 64 bits e que eu tenho alguns muito bom razões.

Até agora, eu tentei uma série de opções e encontrei um bit de ajuda relacionados para conseguir isso em uma máquina de 32 bits (e conseguiu, eu poderia acrescentar), mas desde que o original Windows porto é Win32 específico, isso não vai ajudar quando instalar como um serviço em x64.Ele também tem uma dependência no libevent por que eu só posso chegar a uma Win32 versão compilada.

Eu suspeito que simplesmente carregar tudo isso em C++ e bater "compilar" (para 64 bits) não funciona, pelo menos não por causa do intrincado diferenças nas versões de 32 e 64 bits arquiteturas, mas eu estou querendo saber se alguém é workng em obter esta fora da terra?Infelizmente, a minha experiência mentira em código gerenciado (C#) apenas, caso contrário, eu iria tentar levar isso em mim, mas eu não posso acreditar que eu sou o único cara lá fora, tentando obter o memcached sendo executado em uma versão de 64 bits do Windows server....sou eu??

Qualquer ajuda ou recomendações apreciado...


Atualização

Sim, eu tenho medo que eu ainda estou procurando uma resposta para todos os meus esforços (com meu patético C++ habilidades) para fazer uma compilação estável falharam - eu trashed um servidor e 3 VM apenas experimentá-la agora, então, eu me volto para os verdadeiros especialistas.Alguém está planejando migrar este para 64 bits?Ou você está realmente sugerindo que eu uso o MS Velocidade em vez disso?Eu tremo só em pensar...


Atualização:@Lars - eu uso Enyim, na verdade - é muito bom, mas o que você está se referindo é um cliente, em vez de a parte do servidor.

@DannySmurf - eu só tenho sido capaz de instalá-lo como um serviço em uma versão de 32 bits do sistema operacional.Sistema operacional de 64 bits rejeita a instalação deste serviço Win32.Claro que sim, muitas Win32 código funciona perfeitamente na arquitetura x64, assim você pode executar aplicativos de 32 bits (como o Office, por exemplo) ou jogos no Vista/XP 64, etc, mas isso não se traduz diretamente quando se trata de serviços.Eu não sou nenhum especialista, eu suspeito que isso tem a ver com o sincroniza ou eventos que a necessidade de serviços para subscrever e eu suspeito que 64 e 32 não joga muito bem.Eu sou feliz de ser corrigido em qualquer um destes, mas para responder sua pergunta, sim, eu tentei.

@JO - muito obrigado para o direto de resposta.Achei o máximo, mas não tinha a certeza se mais alguém tinha sugestões ou já tinha ido por esse caminho.Talvez quando StackOverflow é VIVER, então, mais as pessoas vão reagir e deixe-me saber se isso é algo a ser procurado, e embora eu possa tentar compilá-lo sozinho - eu simplesmente não pode "confiar" (com o meu C++ nível de experiência), que é fornecer "Empresa" Nível de confiabilidade de tal componente crucial de grandes soluções escaláveis.Eu acho que teria educado intervenção, ao invés de incluir meu unsanitised abordagem experimental antes que eu pudesse estar confiante.Um pequeno descuido de minha parte, poderia colocar o site para baixo.Oh, bem...até a próxima vez...

Foi útil?

Solução

Norte laboratórios de Escala de ter lançado uma versão do memcached 1.4.4 para o Windows x64:

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

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

ATUALIZAÇÃO:eles lançaram recentemente Servidor Memcached - ainda LIVRE, mas o avançado distro com o agrupamento, a web-based admin/stats de INTERFACE do usuário, etc.(Eu não estou relacionado a eles de qualquer maneira) confira em http://northscale.com/products/memcached.html e download em: http://www.northscale.com/download.php?a=d

ATUALIZAÇÃO 2:NorthScale Memcached não está mais disponível como um autônomo de download.Agora eles fizeram parte de sua comerciais Não-banco de dados SQL oferecendo chamado Membase.Ele pode ser configurado para executar no Memcached-modo (i.e.sem persistência) e há um 100% versão gratuita também.Confira aqui: http://www.membase.org/downloads

ATUALIZAÇÃO 3:MemBase tem dormido com o CouchDB e produziu um híbrido de oferta do produto, chamado de CouchBase.Eles ainda não oferecem uma "Comunidade", versão em http://www.couchbase.com/download

Outras dicas

Só assim as pessoas sabem, a versão de 32-bit e 64-bit versão de como construir pelas boas pessoas, a partir de membase/couchbase/o que ainda está disponível no blog a URL foi alterada, porém:

Binário de 32 bits do memcached 1.4.4 como o Windows-serviço:

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

Binário de 64 bits do memcached 1.4.4 como o Windows-serviço:

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

A versão de 64 bits não ter errado o tempo de atividade.

Então talvez você queira este binário de 1.4.2 em vez disso:

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

A versão de 32 bits como incluído com MemCacheDManager também suppors em execução no 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

Para descompactar o msi:

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

Memcached 1.4.5 binário para win x64 pode ser encontrado aqui: http://downloads.northscale.com/memcached-1.4.5-amd64.zip

Outra opção seria instalar o Couchbase Server 1.8.0 x64 aqui: http://www.couchbase.com/download, o pacote do memcached parece ser a versão 1.7.1.1 (soa como uma versão interna, eu não posso dizer qual é o real)

Como para a execução de memcached como um serviço, este tutorial pode ser o suficiente:

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

Eu, pessoalmente, sinto que você tem que recompilar o aplicativo usando um compilador de 64 bits (obviamente em uma máquina de 64 bits) para obter o máximo de Memcached em uma plataforma de 64 bits.Isso pode não ser uma tarefa fácil, dependendo do código.Se ele foi escrito com 64 bits portabilidade em mente, então ele poderia ser uma simples recompilação.Se não, então você poderia muito bem ser até para um pouco de patches antes de começá-lo para construir..e, em seguida, você tem que verificar que você não tenha quebrado nada!

Eu não acho que você está superestima as diferenças entre 32 e de 64 bits em todos os.Um erro comum é assumir que o trabalho é uma simples recompilação, quando na verdade não o é.Há mais questões de portabilidade do que a maioria das pessoas percebe.Só porque o aplicativo cria e você acaba com um binário, isso não significa que o binário vai se comportar como deveria.Especialmente quando ele pode interagir com outros de código de 32 bits.

Tendo dito isso, pode valer a pena dar uma olhada!

Boa sorte.Saúde!


@Lars:Recomendo a leitura a pergunta antes de tentar uma resposta.

@João Sibly & @DannySmurf:dada a natureza do Memcached e o que pretende alcançar, certamente você não deseja executar uma versão de 32 bits em um computador de 64 bits?Se você tivesse uma capacidade de 64 bits, máquina de faria sentido para executar uma versão de 64 bits para aproveitar ao máximo os recursos do hardware.

Eu tenho um memcached-1.2.1 para win32 originalmente baixado aqui: http://jehiah.cz/projects/memcached-win32/ (mas agora, por alguma razão, é um link quebrado).

Isso é como eu consegui executar o memcached para Win32 no Windows Server 2008 R2, versão de 64 bits.memcached.exe -> propriedades -> Compatibilidade -> Executar este programa em modo de compatibilidade para:Windows XP SP (3).Observe que o usuário Uriel Katz destaque nesta discussão que este método restrito para 2GB de memória de uso.

Eu só estava procurando por memcached em um de 64 bits do sistema do Windows e encontrei este.Até agora não há qualquer Win64 versão do memcached.Mas eu só comecei a memcached.exe com os comandos apropriados via cmd e funcionando bem.Eu estou usando o Windows Vista de 64 bits, não sei se há alguma diferença entre o Vista e o server versões.

Com os melhores cumprimentos Fleshgrinder

Cara, Codeplex é seu amigo -> confira essa porta do mesmo.Ele costumava ter uma 64bit lançamento, mas vc pode baixar o mais recente e compilar para 64bit (muito fácil) ou verifique as versões anteriores.

A versão de 32 bits versão de 64 bits através de WOW64, mas o processo ainda está limitado a 2 gb,com uma versão de 64-bit você pode ir além disso e mais que uma única máquina terá.

Tem certeza de que a versão de 32 bits não basta executar no Windows de 64 bits, sem modificação?A maioria das coisas que fazemos.

Em caso de falha, você realmente tentou apenas a compilá-lo para 64 bits?Uma breve verificação de alguns Grupos do Google etc, onde as pessoas fizeram essa mesma pergunta sugere que essa pode ser exatamente a solução para isso.Eu acho que você provavelmente superestima a diferença entre 32 bits e 64 bits do Windows (pelo menos tanto quanto compilar um aplicativo nativo vai).

FYI, eu não poderia obter a versão de 64 bits (a partir daqui http://labs.northscale.com/memcached-packages/ para instalar como serviço até que eu corri memcached como administrador.

Eu só fui para o executável de propriedades, depois clique na guia Compatibilidade e verificado "Executar este programa como administrador" (Há uma tonelada de outras maneiras de fazer isso, mas parecia mais simples)

Então eu finalmente foi capaz de executar com êxito:o memcached -d instalar

Não se esqueça de iniciar o serviço depois que ele é instalado também :)

Você sempre pode executar várias instâncias de 32 bits do memcached processos em uma caixa, permitindo que a máquina para servir um total de > 2GB memcache espaço.

Se isso pode ajudar, fiz um wrapper com base em uma compilação de memcached 1.4.5 de 64 bits encontrados através de nesta página (link direto para NorthScale binário).

É um serviço do windows e ele funciona perfeitamente bem em um ambiente de produção:
https://github.com/eric-b/MemcachedService64

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top