J'ai une application de serveur de logiciels hautes performances qui devrait obtenir une circulation accrue au cours des prochains mois. P>
Je me demandais quelle approche ou méthodologie est bonne à utiliser pour évaluer si le serveur a toujours la capacité de gérer cette charge accrue? P>
3 Réponses :
Testez le produit avec un dixième de données et de trafic. Assurez-vous que l'activité est "réaliste". P>
Ensuite, considérons ce qui se passera comme le trafic se développe - avec la RAM, le disque, la CPU, le réseau, etc., croître linéairement ou pas? P>
Pendant que vous le faites, recherchez des "points chauds". Optimiser-les. P>
Allez-vous utiliser des pages Web? Bases de données? Etc. Chacune de ces choses échoue différemment. (En d'autres termes, vous n'avez pas fourni suffisamment de détails dans votre question.) P>
Les repères la plus en conserve se concentrent sur un petit aspect de l'informatique; L'application des résultats à une application spécifique est IFFY. P>
Je pense que vous recherchez Test de stress et le scénario serait quelque chose comme: p>
Créer un test de charge Simulant actuellement l'utilisation de l'application réelle actuelle p> li>
Démarrez avec le nombre actuel d'utilisateurs et augmentez progressivement la charge jusqu'à ce que P>
- Vous atteignez le montant "Augmentation du trafic" LI>
- ou des erreurs commencent à se produire li>
- ou vous commencez à observer la dégradation des performances li> ul> blockQuote>
tout ce qui vient le premier p> li>
Selon le résultat que vous puissiez indiquer que votre serveur peut gérer la charge accrue sans aucun problème ou vous trouverez avec le Point de saturation et le premier goulot d'étranglement p> li>
Vous voudrez peut-être aussi exécuter un Test de tremper - laissez le système sous Charge élevée prolongée pendant plusieurs heures ou plusieurs jours, de cette façon, vous pouvez détecter fuites de mémoire ou autres problèmes de capacité . p> li> ol>
Plus d'informations: Pourquoi le test de charge« normal »ne suffit pas p>
Je commencerais par collecter des données de ligne de base sur des ressources critiques - typiquement, CPU, utilisation de la mémoire, utilisation du disque, utilisation du réseau - et les suivre au fil du temps. Si l'une de ces ressources montrent des pics régulières où ils subsistent à 100% de la capacité d'une fraction de seconde, sous l'utilisation actuelle, vous avez un goulot d'étranglement quelque part. Dans ce cas, vous ne pouvez pas accepter une charge supplémentaire sans pannes probables. P>
Ensuite, je commencerais à déterminer la ressource de goulots d'étranglement pour votre application - elle varie entre les applications, mais dans la plupart des cas, c'est la ressource de goulot d'étranglement qui vous empêche de progresser davantage. Votre processeur peut être presque inactif, mais vous battez le disque I / O, par exemple. C'est un processus délicat - la charge et les tests de stress sont la voie à suivre. P>
Si vous pouvez résoudre le goulot d'étranglement en achetant un meilleur matériel, faites-le - c'est beaucoup em> moins cher que de réécrire le logiciel. Si vous ne pouvez pas acheter un meilleur matériel, regardez l'équilibrage de la charge. Si vous ne pouvez pas charger l'équilibre, vous devez examiner l'architecture et la mise en œuvre de l'application et voir s'il existe des moyens de déplacer le goulot d'étranglement. P>
C'est assez typique que le goulot d'étranglement se déplace d'une ressource à la suivante - vous avez la CPU à se comporter, mais maintenant lorsque vous augmentez le trafic, vous êtes en train de filtrer des E / S; Une fois que vous avez résolu cela, vous pouvez obtenir un autre défi de la CPU. P>