Comment dépensez-vous des tests de charge et de planifier des réservoirs pour les sites Web?
il
http://meta.serverfault.com/questions/1986
Sur la capacité de planification des sites Web.
Lié:
https://serverfault.com/questions/384686
https://serverfault.com/questions/350458
Quels sont les outils et méthodes recommandés de la capacité de planification des sites Web et des applications Web?
N'hésitez pas à décrire divers outils et méthodes de divers serveurs Web, cadres, etc., ainsi que de l'expérience avancée applicable aux serveurs Web en général.
http://meta.serverfault.com/questions/1986
Sur la capacité de planification des sites Web.
Lié:
https://serverfault.com/questions/384686
https://serverfault.com/questions/350458
Quels sont les outils et méthodes recommandés de la capacité de planification des sites Web et des applications Web?
N'hésitez pas à décrire divers outils et méthodes de divers serveurs Web, cadres, etc., ainsi que de l'expérience avancée applicable aux serveurs Web en général.
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
5 réponses
Babette
Confirmation de:
Une réponse longue est qu'une analyse comparative de votre charge de travail spécifique - C'est ce que vous devez prendre vous-même, car cela ressemble un peu à la question: "Quelle est la longueur de la ligne de coupe?"
Un simple site Web statique d'une seule page peut être placé sur Pentium Pro 150 Et servir toujours des milliers de spectacles tous les jours.
L'approche principale dont vous avez besoin pour répondre à cette question, - c'est
essayer
Cela verra ce qui se passe. De nombreux outils peuvent être utilisés pour une pression artificielle sur le système pour voir où cela commence.
Un bref aperçu de ce:
Placez votre site de site
Ajouter une surveillance
Ajouter du trafic
Résultats des résultats
Réparer
Rincer, répéter jusqu'à ce qu'il devienne assez
Placez votre site de site
Fondamentalement, pour tester une certaine charge, vous devez tester quelque chose. Configurez mercredi pour les tests. Si possible, il devrait être assez proche de votre équipement de fabrication, sinon vous devrez extrapoler vos données.
Configurez vos serveurs, vos comptes, vos sites Web, votre bande passante, etc. Si vous le faites sur des machines virtuelles, ceci est normal si vous êtes prêt à accumuler vos résultats.
Donc, je vais configurer la machine virtuelle de la puissance moyenne (Deux noyaux, 512 MB RAM, 4 Disque dur GB) et installer mon équilibrage de charge préféré,
http://haproxy.1wt.eu/
à l'intérieur
http://en.wikipedia.org/wiki/Red_Hat_Linux
sur vm.
Je disposerai également de deux serveurs Web pour l'équilibrage de la charge que je vais utiliser pour tester le stress l'équilibrage de la charge. Ces deux serveurs Web sont identiques à mes systèmes de travail.
Ajouter une surveillance
Vous aurez besoin de certains indicateurs de surveillance. Je vais donc mesurer le nombre de demandes sur mes serveurs Web et le nombre de demandes que je peux traiter par seconde avant de commencer à recevoir un temps de réponse pendant plus de deux secondes.
Je vais aussi suivre l'utilisation de RAM, de la CPU et du disque sur
Instance pour s'assurer que le balantier de charge peut traiter les connexions.
Comment faire cela, dépend en grande partie de vos plates-formes et dépasse la portée de cette réponse. Vous devrez peut-être visualiser les fichiers journaux du serveur Web, exécuter des compteurs de performances ou s'appuyer sur des rapports fournis par votre outil de test de stress.
Plusieurs choses que vous voulez toujours suivre:
Utilisation du processeur
Utilisant RAM
Disque d'utilisation
Dissiper
Utilisation du réseau
Vous pouvez également regarder le verrouillage SQL, Temps de recherche, etc. En fonction de ce que vous testez spécifiquement.
Ajouter du trafic
Ici tout devient amusant. Maintenant, vous devez simuler la charge de test. il y a
https://stackoverflow.com/ques ... ative
qui peut le faire, avec des paramètres personnalisés:
https://jmeter.apache.org/
(L'Internet, LDAP)
http://httpd.apache.org/docs/2.4/programs/ab.html
(l'Internet)
http://grinder.sourceforge.net/
(l'Internet)
http://code.google.com/p/httperf/
(l'Internet)
http://www.iis.net/community/d ... g%3D6
(l'Internet)
Test de chargement Visual Studio (l'Internet)
https://www.microsoft.com/down ... 20163
(SQL Server)
Sélectionnez un numéro n'importe quel nombre. Supposons que vous verrez comment le système réagit à 10 000 Appel par minute. Peu importe le numéro que vous choisissez, car vous allez répéter cette étape plusieurs fois, augmentant ou réduisant ce nombre pour voir comment le système réagit.
Idéalement, vous devez distribuer ces 10 000 Demandes de plusieurs clients / Chargez les nœuds de test afin qu'un client ne devienne pas un goulot d'étranglement pour les requêtes. Par exemple, JMeter's
http://jmeter.apache.org/userm ... .html
Fournit une interface centrale pour exécuter plusieurs clients à partir de la machine de contrôle. Jmeter.
Cliquez sur Magia
Aller
Cliquez sur le bouton et voyez comment vos serveurs Web sont fondus et tombent.
Résultats des résultats
Donc maintenant, vous devez revenir à vos métriques que vous avez collectées dans une étape 2. Vous voyez que quand 10 000 Les connexions simultanées sont à vous
box Presque n'a pas de transpiration, mais le temps de réponse avec deux serveurs Web est à peine plus de cinq secondes. Ce n'est pas cool - N'oubliez pas que votre temps de réponse est de deux secondes. Donc, nous devons faire des changements.
Réparer
Maintenant, vous devez accélérer le travail de votre site plus de deux fois. Donc, vous savez que vous devez augmenter ou être mis à l'échelle.
Pour augmenter l'échelle, obtenez des serveurs Web plus grands, une mémoire plus rapide, des disques plus rapides.
Pour la mise à l'échelle horizontale, obtenez plus de serveurs.
Utilisez vos indicateurs de l'étape 2 et tester pour accepter cette solution. Par exemple, si vous avez vu que lors de tester le délai de disque était énorme, vous savez ce que vous devez augmenter l'échelle et obtenir des disques durs plus rapides.
Si lors du test, vous avez vu que le processeur est chargé sur 100%, Vous devrez peut-être effectuer une échelle horizontale pour ajouter des serveurs Web supplémentaires afin de réduire la charge sur les serveurs existants.
Il n'y a pas de réponse correcte ou incorrecte commune, il n'y a que ce qui vous convient. Essayez de zoomer sur l'échelle et si cela ne fonctionne pas, augmentez la balance. Ou non, pour vous résoudre et non la norme pense.
Supposons que nous allons échouer. Donc, j'ai décidé de cloner mes deux serveurs Web (Ce sont des machines virtuelles), Et maintenant, j'ai quatre serveurs Web.
Rincer, répéter
Recommencer de la marche 3. Si vous constatez que tout n'est pas comme si vous vous attendiez (Par exemple, nous avons doublé le nombre de serveurs Web, mais le temps de réponse dépasse toujours deux secondes.), Examiner d'autres goulots d'étranglement. Par exemple, vous avez doublé le nombre de serveurs Web, mais j'ai toujours un serveur de base de données des ordures. Ou vous avez cloné plus de machines virtuelles, mais comme elles sont sur un seul hôte physique, vous ne soulevez que la concurrence pour les serveurs.
Vous pouvez ensuite utiliser cette procédure pour tester d'autres parties du système. Au lieu d'utiliser l'équilibrage de la charge, essayez directement de contacter le serveur Web,
https://serverfault.com/q/350458/7709
.
Blanche
Confirmation de:
La mesure de la performance est toujours effectuée en utilisant
temps
unités, comme
ils sont ce qui inquiète les utilisateurs
ils peuvent être augmentés et réduits
De telles choses que% CPU et IOPS, Dépend du système, de sorte que vous n'utilisez que lorsque vous planifiez le système et la mesuré au stade de la préparation de la production afin d'agir de «substitut» de ce que vous aimez, le temps.
Emilie
Confirmation de:
Au mieux, vous prenez des solutions raisonnables
et
fortune / Bonne chance vous favorise si la réalité correspond à vos hypothèses. Si vos besoins en hypothèses sont valides, vous ressemblez à un yogi mystique. Malheureusement, si vos hypothèses dépassent la réalité, vous semblez en faire trop et dépensez trop de fonds. Malheureusement, si vos hypothèses sont inférieures à la réalité possible (ou incorrect pour d'autres raisons), Vous n'avez pas assez de puissance dont vous avez besoin et vous aurez de notre mieux pour tenter d'adoucir les échecs de votre infrastructure gémissante, à cause de ce que vous allez ressembler à votre incompétente.
Pas de pression ...
Malheureusement, l'art sombre de la planification de la puissance - C'est plus que vous pouvez exprimer judicieusement dans une réponse à une erreur de serveur; En effet, c'est un sujet digne de livres.
Heureusement, il y a un tel livre: "
http://shop.oreilly.com/product/9780596518585.do
"
Giselle
Confirmation de:
https://serverfault.com/questi ... 01740
.
Réglage Apache par Mod_Prefork
http://httpd.apache.org/
Peut-être l'un des (Si non vous-même) Les serveurs Web les plus populaires disponibles. Ceci est un code source ouvert et il est toujours activement pris en charge. Vous pouvez l'exécuter comme dans les systèmes d'exploitation Linux, Alors B. Windows, Mais il est plus populaire dans le monde Linux / Unix.
Vous devriez
jamais
Utilisez la configuration finie Apache. Vous devez toujours configurer Apache à votre site. Principale
http://httpd.apache.org/docs/c ... .html
Fichier B. CentOS Situé à l'adresse
, et le fichier de configuration principal Apache dans les systèmes Ubuntu généralement situé à
. Les fichiers de configuration supplémentaires sont utilisés pour des choses telles que
http://httpd.apache.org/docs/current/vhosts/
.
Comme beaucoup d'autres programmes, Apache Il peut être flexible et configuré conformément aux besoins d'un site Web spécifique.
http://httpd.apache.org/docs/current/mpm.html
Quel Apache Vous pouvez configurer pour se lier au port réseau, à la réception et au traitement des demandes.
Dans la plupart des cas dans les installations Apache Par défaut, qui sont fournis avec des serveurs CentOS et Ubuntu, MPM "
http://httpd.apache.org/docs/c ... .html
". On suppose que vous utilisez mod_prefork (Si vous n'êtes pas sûr, c'est plus probable, mais seulement vous pouvez déterminer) Voici les bases de la façon de la configurer:
Découvrez quelle quantité maximale de mémoire que vous voulez Apache pourrait utiliser.
Testez soigneusement votre site et déterminez la quantité de mémoire utilise chaque processus Apache (Utilisant top).
Faire le processus Apache En haut qui utilise le plus de mémoire, ajoutez un peu pour une bonne évaluation, puis divisez le premier numéro (Mémoire maximale que vous souhaitez utiliser Apache) Ceci est un nouveau numéro.
Le nombre que vous obtenez devrait être à vous
&
variables.
Ceci, bien sûr, n'est pas la réponse finale.
http://httpd.apache.org/docs/c ... .html
Nécessite du temps et de l'expérience pour obtenir le résultat correct.
Emilie
Confirmation de: