Performance du serveur
La performance du serveur impacte directement la rapidité et la réactivité de votre application WCPOS. Ce guide vous aide à surveiller, diagnostiquer et optimiser les performances du serveur en utilisant les métriques intégrées et les techniques de dépannage.
Comprendre les métriques du serveur
WCPOS collecte automatiquement les métriques de performance du serveur à chaque opération de récupération de données (produits, commandes, clients, etc.). Vous pouvez consulter ces métriques dans l'écran Logs.
Métriques du serveur typiques
{
"total": "24692",
"execution_time": "76.64 ms",
"server_load": "[15.20605469,16.16357422,16.76806641]"
}
Détails :
total- Nombre d'enregistrements traités (24,692 identifiants de produit)execution_time- Temps requis pour compléter l'opération (76,64 millisecondes)server_load- Moyennes de charge du serveur pour 1, 5 et 15 minutes
Explication de la charge du serveur
La charge du serveur représente la charge moyenne du système sur différentes périodes :
- Première valeur - Moyenne sur 1 minute (15.21)
- Deuxième valeur - Moyenne sur 5 minutes (16.16)
- Troisième valeur - Moyenne sur 15 minutes (16.77)
Interprétation de la charge
Les valeurs de charge du serveur peuvent être trompeuses et doivent être interprétées avec précaution :
Les moyennes de charge du serveur ne corrèlent pas toujours directement avec la performance. Un serveur ayant des valeurs de charge élevées (15+) peut être très réactif s'il dispose de ressources suffisantes et est bien optimisé. Concentrez-vous sur les temps d'exécution plutôt que sur les valeurs de charge seules.
Directives générales :
- Charge par rapport aux cœurs CPU - Une charge de 8.0 sur un serveur à 8 cœurs signifie une utilisation complète
- Soutenue contre temporaire - Des pics brefs sont normaux, une charge élevée soutenue peut indiquer des problèmes
- La performance est plus importante - Un serveur réactif avec une charge élevée est mieux qu'un serveur lent avec une faible charge
À surveiller :
- Augmentation des temps d'exécution dans le temps
- Croissance constante de la charge sans explication
- Charge élevée ET temps d'exécution lents ensemble
Références de performance
Directives de temps d'exécution
| Opération | Bon | Acceptable | Mauvais | Critique |
|---|---|---|---|---|
| Récupération de produit | < 100ms | 100-500ms | 500ms-2s | > 2s |
| Création de commande | < 200ms | 200-800ms | 800ms-3s | > 3s |
Considérations sur le nombre d'enregistrements
Le temps d'exécution doit évoluer raisonnablement avec le nombre d'enregistrements :
// Good scaling examples
{"total": "100", "execution_time": "15.2 ms"} // 0.15ms per record
{"total": "1000", "execution_time": "89.4 ms"} // 0.09ms per record
{"total": "10000", "execution_time": "234.1 ms"} // 0.02ms per record
// Poor scaling examples
{"total": "100", "execution_time": "500.0 ms"} // 5.0ms per record
{"total": "1000", "execution_time": "8000.0 ms"} // 8.0ms per record
Diagnostic des problèmes de performance
Étape 1 : Surveiller les logs
- Ouvrez Logs depuis le tiroir de navigation
- Effectuez l'opération lente (synchroniser les produits, créer une commande, etc.)
- Recherchez l'entrée de log correspondante
- Développez le contexte pour voir les métriques
Étape 2 : Analyser les métriques
Temps d'exécution élevé + Charge serveur élevée = Problème de ressources serveur
{
"total": "5000",
"execution_time": "3500.0 ms",
"server_load": "[12.45, 11.23, 10.87]"
}
Solution : Augmenter les ressources serveur ou optimiser la configuration du serveur
Temps d'exécution élevé + Charge serveur normale = Problème de plugin/base de données
{
"total": "1000",
"execution_time": "2800.0 ms",
"server_load": "[1.23, 1.45, 1.67]"
}
Solution : Identifier les plugins lents ou optimiser les requêtes de base de données
Temps d'exécution normal + Charge serveur élevée = Surcharge générale du serveur
{
"total": "2000",
"execution_time": "150.0 ms",
"server_load": "[8.90, 9.12, 8.45]"
}
Solution : Réduire la charge du serveur provenant d'autres processus ou augmenter les ressources
Problèmes de performance courants
1. Ressources serveur insuffisantes
Symptômes :
- Charge serveur constamment élevée (> 4.0 sur la plupart des serveurs)
- Temps d'exécution longs sur toutes les opérations
- Délais d'attente fréquents
Solutions :
- Mise à niveau du CPU - Plus de cœurs gèrent mieux les requêtes simultanées
- Augmenter la RAM - Réduit les E/S disque et améliore la mise en cache
- Utiliser le stockage SSD - Améliore considérablement les performances de la base de données
- Optimiser les paramètres PHP - Augmenter memory_limit, max_execution_time
2. Requêtes de base de données lentes
Symptômes :
- Temps d'exécution élevés avec une charge serveur normale
- Récupération de produits/commandes particulièrement lente
- Codes d'erreur liés à la base de données dans les logs
Solutions :
- Activer WooCommerce HPOS - La plus grande amélioration des performances de la base de données
- Utiliser la mise en cache d'objets - Redis ou Memcached si disponible chez votre hébergeur
- Maintenir WordPress à jour - Les mises à jour du noyau incluent souvent des optimisations de base de données
- Limiter les révisions de publication - Ajouter
define('WP_POST_REVISIONS', 3);à wp-config.php
3. Interférence des plugins
Symptômes :
- Dégradation soudaine des performances après des mises à jour de plugins
- Opérations spécifiques beaucoup plus lentes que d'autres
- Temps d'exécution élevés avec une charge serveur normale
Dépannage :
- Tester en staging - Désactiver tous les plugins sauf WooCommerce et WCPOS
- Mesurer le niveau de base - Enregistrer les temps d'exécution avec un minimum de plugins
- Activer progressivement - Ajouter les plugins un par un pour identifier les coupables
- Vérifier les hooks des plugins - Rechercher des plugins s'accrochant aux actions de WooCommerce
Plugins problématiques courants :
- Plugins SEO lourds durant les opérations de produit
- Systèmes de gestion d'inventaire complexes
- Plugins d'analyse/suivi en temps réel
- Plugins personnalisés mal codés
4. Configuration de WordPress/WooCommerce
Symptômes :
- Performances incohérentes
- Erreurs liées à la mémoire dans les logs
- Tableau de bord admin lent
Liste de vérification d'optimisation :
- Version PHP - Utiliser PHP 8.0+ pour de meilleures performances
- WooCommerce HPOS - Activer le stockage des commandes haute performance (voir ci-dessous)
- Mise en cache WordPress - Activer la mise en cache d'objets si disponible
- Paramètres WooCommerce - Optimiser les tailles d'image des produits
WooCommerce High-Performance Order Storage (HPOS)
HPOS est l'une des améliorations de performance les plus significatives que vous pouvez apporter à WooCommerce. Il stocke les commandes dans des tables de base de données personnalisées au lieu de la table des publications WordPress, améliorant considérablement la performance pour les magasins ayant de nombreuses commandes.
Avantages :
- Requêtes de commande plus rapides - Commandes stockées dans une structure de base de données optimisée
- Réduction de la charge de la base de données - Sépare les commandes des publications/pages
- Meilleure évolutivité - Gère efficacement un grand nombre de commandes
- Amélioration des performances admin - Écrans de gestion des commandes plus rapides
Comment activer :
- Allez dans
WooCommerce > Paramètres > Avancé > Fonctions - Activer "Stockage des commandes haute performance"
- Suivre le processus de migration
En savoir plus :
Meilleures pratiques de surveillance du serveur
1. Contrôles de performance réguliers
- Revue hebdomadaire - Vérifier les logs pour des tendances de performance
- Mesures de référence - Enregistrer des temps d'exécution normaux
- Surveillance des pics de trafic - Surveiller pendant les périodes de forte affluence
2. Définir des alertes de performance
Surveillez ces signes d'avertissement :
- Temps d'exécution > 1000ms de manière constante
- Charge serveur > 5.0 pendant des périodes prolongées
- Erreurs de délai d'attente fréquentes dans les logs
3. Planification de la capacité
Suivre les tendances de croissance :
- Croissance du nombre d'enregistrements - Produits, commandes, clients
- Dégradation des performances - Comment le temps d'exécution évolue
- Utilisation des ressources - CPU, mémoire, utilisation du disque
Stratégies d'optimisation du serveur
1. Meilleures pratiques WordPress/WooCommerce
Activer HPOS :
- La seule amélioration de performance la plus importante pour WooCommerce
- Voir la section HPOS ci-dessus pour les détails
Configuration PHP (consultez votre hébergeur) :
memory_limit = 512M
max_execution_time = 300
max_input_vars = 3000
Configuration WordPress :
// In wp-config.php - limit post revisions
define('WP_POST_REVISIONS', 3);
// Enable WordPress debug logging if needed
define('WP_DEBUG_LOG', true);
2. Optimisations au niveau de l'hébergement
Mise en cache d'objets :
- Demandez à votre hébergeur si Redis ou Memcached est disponible
- De nombreux hébergeurs WordPress gérés fournissent cela automatiquement
Version PHP :
- Utilisez PHP 8.0+ pour des améliorations de performance significatives
- La plupart des hébergeurs permettent un changement facile de version PHP
Ressources serveur :
- Assurez-vous d'avoir suffisamment de RAM (minimum 1 Go, de préférence 2 Go+)
- Le stockage SSD offre une bien meilleure performance de la base de données que les disques classiques
Quand demander de l'aide
Contactez votre fournisseur d'hébergement ou un développeur WordPress si :
- Charge serveur constamment > 8.0 malgré les efforts d'optimisation
- Temps d'exécution > 5000ms pour des opérations simples
- Erreurs de mémoire apparaissant fréquemment dans les logs
- Requêtes de base de données prenant > 2 secondes de manière constante
Fournissez-leur :
- Les métriques serveur de vos logs
- La liste des plugins actifs
- Les spécifications du serveur (CPU, RAM, type de stockage)
- Les versions de WordPress et WooCommerce