47 votes

Combien de requêtes mon serveur web doit-il pouvoir traiter ?

Je n'entrerai pas dans les détails des spécifications, car je sais qu'il n'y a pas de véritable réponse à cette question. Mais j'ai fait des tests de charge aujourd'hui avec l'application ab dans Apache.

J'ai atteint le nombre de 70 requêtes par seconde (1000 requêtes avec 100 utilisateurs simultanés), sur une page qui se charge à partir de 4 tables de base de données différentes, et j'ai fait quelques manipulations avec les données. Il s'agit donc d'une page assez lourde.

Le serveur n'est utilisé pour rien d'autre pour l'instant et la charge qu'il subit n'est que la mienne, puisqu'il est en développement. Mais l'application sera utilisée quotidiennement par de nombreux utilisateurs.

Mais est-ce suffisant ? Ou dois-je m'inquiéter (du moment que c'est plus de X demandes par seconde) ?

Je pense que je ne devrais pas m'inquiéter, mais j'aimerais avoir des conseils à ce sujet.

49voto

Tim Howland Points 4638

70 demandes par seconde correspondent à un taux horaire de 252 000 pages rendues par heure.

Si vous supposez que la session de navigation moyenne sur votre site comporte 10 pages, vous pouvez prendre en charge 25 000 visites uniques par heure.

Vous devriez probablement vérifier ces chiffres par rapport au nombre de visiteurs prévu, qui devrait être disponible auprès des responsables de l'entreprise.

La plupart des sites sur lesquels je travaille enregistrent environ 50 % de leur trafic quotidien au cours d'une période de pointe d'environ trois heures par jour. Si c'est le cas de votre site (cela dépend du type de contenu que vous proposez et de votre public), vous devriez être en mesure de supporter un nombre de visites uniques quotidiennes d'environ 150 000.

Ces chiffres sont plutôt bons ; je pense que tout devrait bien se passer. Il est judicieux d'envisager la mise en cache des opcodes et l'optimisation de la base de données dès maintenant, mais n'oubliez pas que l'optimisation prématurée est la racine de tous les maux. Surveillez le site, cherchez les points chauds et attendez que le trafic augmente avant de vous lancer dans un effort d'optimisation coûteux pour un problème que vous n'avez peut-être pas.

6voto

Kristof Provost Points 12359

J'ai utilisé 2 outils pour regarder la performance de mes serveurs Apache dans le passé.

L'un d'entre eux est munin qui affiche toutes sortes de graphiques, y compris le nombre d'instances d'Apache, le nombre de connexions, la mémoire disponible, l'utilisation du processeur, etc. zone de danger et pourquoi.

Le second est simplement le page d'état du serveur apache ( http://your_server/server-status?refresh=10 ) qui me permet de voir l'état de chaque connexion, ainsi que le nombre de connexions libres à tout moment.

1voto

Kara Marfia Points 966

Je vous suggère de ne vous inquiéter que si vous pensez que votre application sera très utilisée lorsqu'elle sera lancée. La page en question est-elle susceptible d'être touchée à ce point ? Plus forte ? Moins ? Si vous n'en avez aucune idée, je pense qu'il est peu probable que cela pose un problème dès le départ. S'il s'agit de la page la plus lente, vous saurez où chercher si vous devez optimiser le système plus tard.

Il existe également de nombreuses possibilités de réglage de la plupart des serveurs web et des moteurs de base de données afin d'améliorer les performances.

0voto

Eltariel Points 895

Vous indiquez dans un commentaire que votre serveur peut traiter 2 900 requêtes par seconde sur une page vide. Cela indique assez clairement que ce n'est pas le serveur web lui-même qui est en cause, mais le traitement.

Si vous utilisez PHP, envisagez un cacheur d'opcode comme APC . Si la base de données est un goulot d'étranglement, memcached vous aidera également.

0voto

Une fois que vous aurez mis votre site en ligne, vous pourrez également consulter mod_top 1 qui vous donnera une vue en temps réel de la charge actuelle sur Apache. Je ne l'ai pas installé moi-même, mais il semble avoir plus d'informations et une meilleure répartition de la charge que l'état standard du serveur Apache.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X