web-dev-qa-db-fra.com

Combien d'utilisateurs WordPress peut-il gérer?

Je souhaite concevoir un site de connexion de membre dans WP, mais j’ai un doute sur le fait que WordPress peut gérer plus de 40000 utilisateurs sur la même base de données?

Je ne suis pas sûr de cela alors je me penche ici. Alors aidez-moi, si quelqu'un sait exactement à ce sujet, de poursuivre mon projet avec WP.

10
prasad

Selon la structure de la base de données WP, l'ID dans wp_users est Bigint (20) UNSIGNED. Vous pouvez donc "théoriquement" ajouter 18446744073709551615 utilisateurs. http://dev.mysql.com/doc/refman/4.1/en/integer-types.html

9
Overdose

Un peu tard pour répondre à cette question, mais comme il est prévu pour une recherche pertinente, il sera utile à quelqu'un:

WordPress utilise le schéma de base de données EAV pour une partie de son implémentation de base de données. Cela affecte à la fois les données et les utilisateurs. (Ils sont conservés dans des tables séparées)

Pour l'expliquer sous l'angle des données:

Outre les détails directement accessibles liés au post dans wp_posts, de nombreuses méta sont postées dans la table wp_postmeta pour chaque post. Toutes les données pertinentes pour la publication (ou le type de publication personnalisé).

Le problème, c’est que si vous avez des tas de publications ou de pages (ou des publications/données personnalisées), il devient assez lent de rechercher toute propriété trouvée dans les méta. Vous recherchez d’abord les critères dont vous avez besoin dans toutes les entrées de la table méta, puis récupérez la publication correspondante dans la table. Le kicker est que vous devez rechercher CHAQUE critère séparément. Si vous recherchez une balise, vous obtenez les publications avec la valeur X pour 'méta1', puis vous recherchez un deuxième critère, par exemple, des critères personnalisés, puis vous obtenez des identifiants de publication avec customcriteriavalue1 dans des critères personnalisés, puis vous passez à l'intersection de ces critères, puis vous accédez à les détails de publication de la table de publications avec cette intersection.

Par exemple, ajoutez 30 000 produits dans WooCommerce et vous obtiendrez environ 1 800 000 lignes dans wp_postmeta, comme expliqué dans la réponse ci-dessous:

Post meta vs tables de base de données séparées

Ainsi, non seulement cela rendra la recherche très inefficace (en particulier lorsque vous ferez des auto-critères sur wp_postmeta pour plusieurs critères), mais même l'interrogation d'une seule ligne parmi 1,8 million de lignes aura un impact négatif sur les performances.

Déficit de schéma EAV.

Donc, avec beaucoup de publications, l’implémentation de WordPress db rend les recherches complexes très lentes.

L'exécution d'un site WordPress avec des milliers de messages est tout à fait faisable, si vous utilisez des plugins de mise en cache. Vous pouvez aller encore plus. Mais les recherches seront un problème.

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

C'est la même chose avec les utilisateurs - wp_usermeta utilise également le même format EAV. Donc, si vous avez beaucoup d'utilisateurs et que vous avez beaucoup de plugins qui stockent diverses données utilisateur dans wp_usermeta, vous aurez le même impact sur les performances.

Sans parler de tant d’utilisateurs, il est probable que vous aurez déjà un grand nombre de publications - à moins que votre application ne concerne principalement les utilisateurs (CRM, etc.) et que vous choisissiez de stocker vos données utilisateur dans wp_usermeta au lieu de wp_postmeta . (Peu probable cependant).

.........

Certains plugins tentent de résoudre ce problème, comme Meta Accelerator.

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

Ce plugin prend toutes les données pour le type de message que vous choisissez et les place dans des tables plates. Cela accélère beaucoup la recherche et accélère également l'interrogation de toute valeur singulière.

Mais ce plugin en est encore à ses balbutiements.

Vous pouvez également installer ElasticSearch sur le serveur et utiliser le plug-in ElasticPress ou un autre plug-in qui l'intègre à WordPress pour accélérer ces recherches.

5
unity100

Je pense que vous pouvez exécuter encore plus d'utilisateurs. La seule chose qui puisse vous limiter est votre serveur. Vous devrez l’adapter correctement, en particulier le serveur MySQL. Par exemple, wordpress.com fonctionne même plus de 40000 utilisateurs, mais ils utilisent des systèmes très puissants pour la stabilité, des tonnes d'équilibreurs de charge, etc.

5
Kee Ross

La question devrait être de savoir combien d'utilisateurs peuvent manipuler la pile php-mysql au lieu de WordPress, car WP est développé sur ces 2 technologies principales.

Cela dit, si vous pouvez configurer le serveur avec des techniques de serveur avancées, l'hôte WP sur un serveur bien géré, le chargement optimisé de la base de données et les requêtes, puis WP peuvent gérer autant de membres que vous le souhaitez.

Si vous installez wordpress dans un hébergement partagé, vous limitez votre capacité WP. D'autre part, si vous pouvez gérer vous-même en exécutant WP à partir d'un serveur d'hébergement en nuage ou dédié, vous devriez obtenir le résultat souhaité.

Wordpress est capable de gérer des carrières de bases de données complexes. Vous pouvez vérifier ceci https://codex.wordpress.org/Installing_WordPress

En outre, l'utilisation de wordpess en tant que cadre de développement d'applications avancé vous permet de procéder à l'installation pour gérer une charge de base de données volumineuse/complexe.

vous pouvez aussi choisir cette série: http://code.tutsplus.com/articles/using-wordpress-for-web-application-development-wp_user_query--wp-35015

J'espère que cela aidera. Merci

3
user1982023

J'ai trouvé le goulot d'étranglement pour combien d'utilisateurs de Wordpress vous pouvez avoir est le délai d'attente PHP entrant en jeu sur la page d'administration des utilisateurs.

En supposant que tous vos utilisateurs ont au moins un rôle, ils ont une entrée wp_capabilities dans la table user_metadata avec un tableau sérialisé de rôles.

La page admin indique le nombre d'utilisateurs avec chaque type de rôle. Elle doit donc charger chaque tableau sérialisé wp_capabilities, le désérialiser puis afficher un nombre total.

Lorsque j'ai 300 000 utilisateurs, la page d'administration des utilisateurs prend 44 secondes pour se construire.

Cela signifie que chaque utilisateur ajoute 0,00014666666 secondes au temps de chargement de la page.

En supposant que votre délai d'attente de PHP est de 60 secondes, la limite serait d'environ 400 000 utilisateurs.

Cependant, je gère un serveur assez ancien et lent. Un matériel plus rapide améliorerait grandement les choses.

3
Felix Eve