Quantos usuários o WordPress pode lidar?


10

Quero criar um site de login para membros no WP, mas tenho uma dúvida de que o WordPress pode lidar com mais de 40000 usuários no mesmo banco de dados?

Não tenho certeza disso, então estou inclinando meu trabalho aqui. Então, por favor, me ajude se alguém souber exatamente sobre isso para continuar meu projeto com o WP.

Respostas:



6

Um pouco tarde para responder a isso, mas, desde que está sendo pesquisada, isso será útil para alguém:

O WordPress usa o esquema do banco de dados EAV para parte de sua implementação. Isso afeta os dados e os usuários. (Eles são mantidos em tabelas separadas)

Para explicá-lo do ângulo de dados:

Juntamente com os detalhes relacionados diretamente à postagem acessíveis em wp_posts, várias meta são postadas na tabela wp_postmeta para cada postagem. Quaisquer dados relevantes para a postagem (ou tipo de postagem personalizada).

O problema é que, se você tem HEAPS de postagens ou páginas (ou postagens / dados personalizados), fica muito lento procurar qualquer propriedade encontrada na meta. Primeiro você pesquisa todas as entradas na tabela-meta pelos critérios necessários e, em seguida, obtém a postagem relevante da tabela. O motivo é que você precisa procurar CADA critério separadamente. Então, uma pesquisa por tag, você obtém as postagens com o valor X para 'meta1', depois procura por um segundo critério, por exemplo, critérios personalizados e obtém os IDs das postagens com customcriteriavalue1 nos critérios customizados. os detalhes da postagem da tabela de postagens com essa interseção.

Como exemplo - coloque 30.000 produtos no WooCommerce e você terá ~ 1.800.000 linhas em wp_postmeta, conforme explicado na resposta abaixo:

Postar meta versus tabelas de banco de dados separadas

Portanto, não apenas isso tornará a pesquisa muito muito ineficiente (especialmente quando você se auto-junta no wp_postmeta para vários critérios), mas também consulta uma única linha entre 1,8 mil linhas causa um impacto no desempenho.

Deficiência de esquema de EAV.

Assim, com muitas postagens, a implementação do WordPress db torna as pesquisas complexas muito lentas.

A execução de um site WordPress com milhares de postagens é bastante viável, se você usar plug-ins de cache. Você pode ir ainda mais. Mas as pesquisas serão um problema.

............

O mesmo acontece com os usuários - o wp_usermeta também usa o mesmo formato EAV. Portanto, se você recebe muitos usuários e possui muitos plugins que armazenam vários dados do usuário no wp_usermeta, você receberá o mesmo desempenho.

Sem mencionar que há tantos usuários, é provável que você já tenha um grande número de postagens - a menos que seu aplicativo seja algo relacionado principalmente aos usuários (CRM etc), e você opte por armazenar seus dados de usuário em wp_usermeta em vez de wp_postmeta . (Embora improvável).

.........

Existem alguns plugins que tentam contornar esse problema, como o Meta Accelerator.

https://wordpress.org/plugins/meta-accelerator/

Este plugin pega todos os dados para qualquer tipo de postagem que você escolher e os coloca em tabelas simples. Isso acelera muito a pesquisa e também consulta qualquer valor singular.

Mas esse plugin ainda está em sua infância.

Como alternativa, você pode instalar o ElasticSearch no servidor e usar o plug-in ElasticPress ou outro plug-in que o integre ao WordPress para acelerar essas pesquisas.


5

Eu acho que você pode executar ainda mais usuários. A única coisa que pode limitar você é o seu servidor. Você terá que escalá-lo corretamente, especialmente o servidor MySQL. Por exemplo, wordpress.comexecuta mais de 40000 usuários, mas eles usam sistemas extremamente poderosos para estabilidade, toneladas de balanceadores de carga e etc.


4

A questão deve ser quantos usuários podem manipular a pilha php-mysql em vez do WordPress, pois o WP é desenvolvido nessas duas principais tecnologias.

Dito isto, se você pode configurar o servidor com técnicas avançadas de servidor, hospede o WP em um bom servidor gerenciado, carga e consultas otimizadas do banco de dados, o WP poderá lidar com quantos membros você desejar.

Se você instalar o wordpress em uma hospedagem compartilhada, estará limitando sua capacidade de WP. Por outro lado, se você conseguir gerenciar o WP a partir de um servidor de hospedagem baseado em nuvem ou dedicado, deverá obter o resultado desejado.

O Wordpress é capaz de lidar com pedreiras de bancos de dados complexos. Você pode conferir este https://codex.wordpress.org/Installing_WordPress

O uso do wordpess como uma estrutura avançada de desenvolvimento de aplicativos permite que você faça sua instalação para lidar com cargas de banco de dados grandes / complexas.

você também pode chk esta série: http://code.tutsplus.com/articles/using-wordpress-for-web-application-development-wp_user_query--wp-35015

Espero que isso ajude. obrigado


Para o registro, a PHPparte da pilha não será seu problema (o Facebook é construído com um PHP modificado), mas MySQLmuito bem pode ser limitante.
21414 Dan

3

Encontrei o gargalo para quantos usuários do Wordpress você pode ter o tempo limite do PHP entrando em jogo na página de administração dos usuários.

Supondo que todos os usuários tenham pelo menos uma função, eles têm uma wp_capabilitiesentrada na user_metadatatabela com uma matriz serializada de funções.

A página de administração mostra uma contagem de quantos usuários com cada tipo de função, portanto, é necessário carregar cada matriz serializada wp_capabilities, desserializar isso e mostrar uma contagem total.

Quando tenho 300.000 usuários, a página de administração de usuários leva 44 segundos para ser criada.

Isso significa que cada usuário adiciona 0,00014666666 segundos ao tempo de carregamento da página.

Supondo que o tempo limite do PHP seja de 60 segundos, o limite seria de cerca de 400.000 usuários.

No entanto, estou executando um servidor bastante antigo e lento. Um hardware mais rápido melhoraria bastante as coisas.


Eu não acho que o impacto é linear, mas concordo com a essência dele, não é tanto o número, mas o que você realmente usar a informação para e onde / quando você acessá-lo
Mark Kaplun
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.