1 votes

1 000 requêtes POST entrantes par seconde, chacune avec un fichier de 10 à 50 Ko

Je suis en train de chercher à déterminer quel type de configuration de serveur il me faudra pour prendre en charge :

  • 1 000 requêtes POST http par seconde
  • chaque post contiendra un fichier xml entre 5 et 50K (en moyenne 25 kilooctets)

Même si j'obtiens une connexion de 100 Mb/s avec mon serveur dédié (ils donnent généralement 10 Mb/s mais vous pouvez mettre à niveau), d'après mes calculs, cela correspond à environ 12K ko/s, ce qui signifie environ 480 fichiers de 25 ko par seconde.

Cela signifie donc que j'ai besoin d'environ 3 serveurs, chacun avec une connexion de 100 Mb/s.

Est-ce qu'un seul serveur exécutant HAProxy serait capable de rediriger les requêtes vers d'autres serveurs ou est-ce que cela signifie que j'ai besoin de quelque chose d'autre qui peut gérer plus de 100 Mb/s pour router les choses vers les autres serveurs ?

Si mes calculs sont incorrects, je vous serais reconnaissant de toute correction que vous pourriez apporter.

2voto

Zypher Points 36865

Tout d'abord, je vais supposer que vous avez correctement dimensionné vos serveurs car vous ne parlez que de bande passante.

Ensuite, vous allez vouloir concevoir pour le pire scénario, qui serait que les 1 000 demandes envoient un fichier de 50 Ko.

Ensuite, normalisons tout en bits par seconde au lieu d'octets par seconde car c'est ainsi que la bande passante est mesurée.

Donc, cela nous donne (50 * 8) * 1000 = 400 000. En Mbps, cela équivaudrait à 400. Maintenant, vous devez ajouter les ~20% de surcharge que TCP et Ethernet ajoutent, et vous obtenez un scénario pire de 480 Mbps.

Votre instance HAProxy devrait être en gigabit pour gérer tout ce trafic. Et vous auriez besoin d'au moins 4 serveurs derrière, fonctionnant à 100 Mbps.

Maintenant, l'avertissement, ces vitesses sont les vitesses de connexion à Internet, vous devez demander à votre fournisseur quelles sont les vitesses inter-serveurs. Espérons que si c'est un bon fournisseur, il y ait des interconnexions gigabit entre les serveurs, alors vous n'avez qu'à vous soucier de votre utilisation Internet.

0 votes

En utilisant à nouveau le scénario du pire cas, avec 50 Ko par fichier, vous pouvez vous attendre à au moins 1 à 2 secondes par téléversement, mais en fonction de vos utilisateurs, cela peut aller jusqu'à 10 secondes par téléversement. À 2 secondes par téléversement et 1000 téléversements par seconde, vous devrez gérer un minimum de 2000 connexions simultanées. À 10 secondes par téléversement, c'est 10 000 connexions. Vous devrez ajuster la valeur maxconn de HAProxy et (si vous l'utilisez) les directives MaxChildren et ServerLimit d'Apache de manière appropriée.

0 votes

Est-il possible d'obtenir des connexions internes plus rapides au lieu de 100 Mbps? Je ne fais rien de compliqué avec le traitement du fichier, pourrais-je potentiellement utiliser moins de serveurs derrière haproxy ou y a-t-il une sorte de limitation de connexion?

0 votes

@Blankman, vous devriez demander au fournisseur d'hébergement quelles sont leurs options de connectivité interne.

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