web-dev-qa-db-fra.com

WordPress en tant qu'application Web gourmande en données

J'aimerais avoir une opinion sur l'utilisation de WordPress en tant qu'application Web à forte intensité de données, comme par exemple rememberthemilk, où un utilisateur peut avoir plusieurs messages (tâches) au cours d'une seule journée. Ou peut-être comme Twitter où on peut même avoir plusieurs post (Twitter) en une heure. Un autre point est que ces applications Web sont ouvertes au public et non à un groupe d'utilisateurs limité.

Si téléchargé et essayé thème P2, comme référence la plus proche, mais je ne suis pas sûr de savoir comment il fonctionne avec un grand nombre d'utilisateurs.

Et la question est;

  • est-il conseillé de créer ce type d'application dans WordPress?
  • Quels sont les inconvénients s’il est construit avec WordPress?

Mise à jour:

Actuellement, je teste un thème WordPress personnalisé pouvant être utilisé dans un journal de finances personnelles. Cela a été démarré uniquement comme expérience wp-ajax.

Le thème comporte un formulaire de téléchargement frontal permettant de consigner chaque transaction et de la placer dans la taxonomie "budget" (catégorie de transaction) et "compte" à interroger. Chaque utilisateur a son propre budget principal et son type de compte personnalisé avec les budgets et les comptes enfants.

Mais tout au long de cette expérience, j'ai commencé à me demander si une seule installation WordPress pouvait être utilisée comme un blog privé que tout le monde peut enregistrer. Est-il possible de gérer un grand nombre d'utilisateurs? Et jusqu'où puis-je pousser un WordPress comme un cadre d'application?

1
ifdion

Il est plus que possible de créer une application Web gourmande en données, même en temps réel, en utilisant la plate-forme WordPress comme cadre de base.

L’architecture de la base de données WordPress est en tant que telle adaptée aux sites Web qui sont des blogs ou des systèmes de gestion de contenu.

Ce qui est défini comme étant un site de type CMS peut être vaste et varié d’opinion, mais aucun de ceux-ci n’est vraiment lié à des applications Web à données intenses telles que celles que vous mentionnez, Remember The Milk ou Twiiter .

Pour cette raison, vous ne manquerez pas d'effort pour comprendre vos options et pour savoir comment les exécuter, sous la forme d'une stratégie qui complète votre demande maintenant et dans le futur en vous permettant de passer à la vitesse supérieure. toute croissance que vous rencontrez.

Dans cet esprit, la structure de table de base de données existante peut ne pas convenir à ce que vous voulez réaliser, mais l'une des grandes capacités dont nous disposons lorsque nous travaillons avec PHP et dans ce cas WordPress est que nous pouvons définir des tables de base de données ayant une structure/un schéma alternatif qui correspond mieux à nos besoins.

En fait, vous pouvez non seulement définir vos propres tables dans la base de données WordPress par défaut de votre installation, mais vous pouvez également aller bien au-delà et ..

  • accéder à des bases de données externes, secondaires, tierces ou quatrièmes
  • accédez aux alternatives NoSQL telles que MongoDB, CouchDB ou aux magasins de clé/val comme Redis

Je dois toutefois mentionner que les données contenues dans des bases de données externes, en particulier celles de différentes variétés (NoSQL, Key/Val), ne seront pas directement accessibles via vos fonctions API WordPress habituelles, mais je présume que si vous atteignez de telles distances savoir comment interroger vos ensembles de données conjointement avec l'utilisation de fonctions de modèle/thème pour la présentation.

Un autre aspect important à considérer est,

  • hébergement web (Cloud? Dédié? PaaS?)

Votre plate-forme d'hébergement jouera un rôle tout aussi important en termes de performances. Il est donc essentiel de réaliser le bon investissement pour soutenir votre projet.

Le plus gros inconvénient de tout cela est plutôt simple et que si l'une de ces choses vous semble confuse et complexe, la construction d'une application Web de haute qualité risque de ne pas l'être être le meilleur choix, avec WordPress.

Au lieu de cela, vous feriez mieux d'utiliser un framework PHP et de construire votre application à partir de zéro, où vous pouvez avoir un contrôle précis sur les subtilités de chaque couche et composant. Vous serez confronté à des défis similaires, cependant, dans le choix de la base de données, architecture/structure, etc., jouera un rôle important dans les performances de votre application.

3
userabuser

Ce n'est pas vraiment une question de performance, c'est une question de performance fonctionnelle. Vous devez mieux définir vos besoins exacts. Twitter ne prend pas plusieurs publications par heure, il gère plus de 3 000 tweets par seconde en moyenne, avec des pics allant jusqu'à 30 000 par seconde. Un WordPress par défaut ne le fera pas.

À la fin de la journée , si vous devez prolonger votre code pour l'éloigner de WordPress, comme le suggère l'utilisateur, vous devez vous demander pourquoi vous utilisez WordPress dans l'environnement Web. En premier lieu, il existe de nombreux frameworks qui ont des abstractions de base de données, des API http, du routage, etc.

Après votre modification


Comme vous semblez utiliser les fonctionnalités intégrées de WordPress, je ne vois pas de problème particulier. Cela dit, une fois que vous commencez à évoluer dans les dizaines de milliers de catégories et de taxonomies du CPT, vous pourrez peut-être voir apparaître certaines zones lentes qu'il faut optimiser, mais cela dépend de votre requête et de son travail.

Dans votre cas, il serait très bénéfique de créer un script de serveur de développement qui imite une utilisation réelle, crée 10k + CPT/avec des données et l’impôt/cat approprié. Puis lancez des tests via curl ou des outils de comparaison et voyez ce qui se passe avec différents paramètres de mémoire vive et de cache. À moins que vous ne fassiez quelque chose de bizarre/unique, je ne vois aucun problème, en particulier si vous êtes sur un serveur/cluster solide.

2
Wyck

@ ifdion, Matt a annoncé que Wordpress proposerait bientôt des fonctionnalités qui le qualifieraient de moteur d'application. Je pense que c'est évolutif avec le bon fournisseur d'hébergement; Vous pouvez consulter wpengine, page.ly ou zippykid (tous les hôtes spécifiques à wordpress)

Quoi qu'il en soit, je construis quelque chose de similaire sur Wordpress. Le seul problème, c’est que je suis plus un concepteur que développeur. Pouvez-vous indiquer comment vous avez réussi à créer la page du gestionnaire de budget et à la sauvegarder pour chaque utilisateur?

Je serais heureux si vous pouviez m'apprendre à implémenter quelque chose de similaire sur Wordpress. Je veux une fonctionnalité où les gens peuvent économiser et suivre leurs dépenses avec leurs budgets.

0