2013-08-09 1 views
0

Je suis un débutant à l'équilibrage de charge nginx mais je l'ai mis en place selon la documentation et à partir de quelques échantillons en ligne.Pourquoi Nginx n'équilibre pas la bande passante de l'équilibrage de charge?

Voilà comment configurer mon config amont:

upstream test { 
    server FirstServerIP weight=1 max_fails=3 fail_timeout=15s; 
    server SecondServerIP weight=1 max_fails=3 fail_timeout=15s; 
} 

Puis-je entrer dans:

proxy_pass http://test; 

dans l'emplacement partie de config. Pour le backend j'utilise le port 8181 du "FirstServerIP" pour le proxy dans le port 80 du premier et deuxième serveur. Tout va bien jusqu'à ce que je vérifie mon utilisation de ma FirstServerIP de bande passante et trouve que le trafic entrant est triple mon SecondServerIP et le trafic sortant est à peu près le même que mon SecondServerIP ...

Pouvez-vous me dire pourquoi? et comment je pourrais le réparer? Parce qu'il semble que les données sont téléchargées sur mon FirstServer à partir de mon SecondServer, puis renvoyées à l'utilisateur.

+0

_Parce qu'il semble que les données sont téléchargées sur mon FirstServer à partir de SecondServer, puis renvoyées à l'utilisateur._ Vous devez vérifier votre configuration FirstServer et SecondServerIP. L'extrait de configuration ci-dessus ne peut tout simplement pas le faire. – VBart

+0

@VBart Aurais-je besoin d'un troisième serveur pour pouvoir transmettre ma requête aux serveurs First et Second de façon égale? La troisième bande passante du serveur serait-elle le premier et le second serveur combinés? – Echiomega

Répondre

1

Il semble que la configuration réponde exactement à ce que vous lui avez demandé de faire. Vous avez configuré un proxy sur le premier serveur IP, non? Les données doivent donc passer de l'utilisateur au proxy, puis au serveur, puis la réponse du serveur au proxy, puis à l'utilisateur. Il est triple car le premier serveur voit trois flux (la sortie des deux serveurs du proxy et l'entrée du second serveur vers le proxy) tandis que le second serveur en voit un (sa sortie vers le proxy). Il équilibre parfaitement le trafic en flux égaux, le premier serveur voit juste trois flux et le second juste un.

En ce qui concerne la façon de le réparer, cela dépend de ce qui ne va pas et de ce que vous essayez d'accomplir, ce que vous ne nous avez pas dit.

+0

Voici une image de la bande passante: [link] (http://s18.postimg.org/ikn4ubq6h/image.png) second serveur [link] (http://s18.postimg.org/hweabdrgp/image. png) premier serveur Ce que je pensais que nginx ferait est d'envoyer l'utilisateur à essentiellement le premier ou le deuxième serveur et commencer à télécharger à partir de ce serveur normalement comme dans le graphique pour le deuxième serveur. Ou ma compréhension du solde de charge est-elle incorrecte? Parce que je ne comprends pas comment le trafic sortant est si élevé ... – Echiomega