Question

après quelques conseils concernant un problème, je reçois un logiciel basé sur Linux pour équilibrer le trafic entre deux serveurs.

Nous avons essentiellement notre site Web de production et un système de sauvegarde (sur site distant). la production est constamment reflétée dans la sauvegarde pour les synchroniser. notre nom de domaine pointe vers un serveur Linux Ubuntu 9.04 (aucune installation propre en dehors du logiciel d'équilibrage de charge). qui exécute la dernière version de Crossroads (XR).

XR est configuré pour transmettre toutes les connexions au serveur Web actif jusqu'à ce qu'il perde son "battement de coeur". connexion avec ce serveur, une fois que cela se produit, les connexions vers notre système de secours sont renvoyées.

Le problème que je reçois se manifeste par un manque de réponse de notre serveur Web. En principe, le client transmet un message XML correctement formé à un service Web .NET. Ce service effectue des calculs et des modifications des données, puis répond avec un fichier XML. réponse, mais le client ne semble jamais avoir la réponse.

J’ai utilisé Wireshark pour étudier ce problème et il semble que, au milieu de la réponse, la connexion soit coupée ou abandonnée (je ne suis pas vraiment sûr en raison de mon manque d’expérience avec Wirehark).

J’ai parlé avec les auteurs du logiciel XR et ils ne trouvent aucune raison ni aucun problème dans le logiciel lui-même pouvant expliquer ce comportement, et y croyons peut-être quelque chose à voir avec la distribution de Linux que j’utilise ou un problème de noyau.

Quelqu'un peut-il m'aider à résoudre ce problème, car nous allons mettre ce système en service dans les prochaines semaines et ce problème nous retient.

Je suis passé d’Ubuntu à CentOS 4 et j’ai essayé à nouveau. Maintenant, j’obtiens des réponses aléatoires des systèmes lorsque j’utilise Wireshark. Parfois, je reçois une réponse XMl entièrement formée du serveur, et lors du prochain essai, il se peut que je ne reçoive qu'une réponse partielle avant que la machine Linux n’envoie un paquet RST.

Était-ce utile?

La solution

Ok, cela n’a rien à voir avec le système d’exploitation, mais un problème avec le logiciel que j’utilisais. en entrant des valeurs de délai dans le fichier XML de config (grâce aux suggestions de l'auteur) et cela semble avoir résolu le problème.

Voici un exemple d'entrées que vous devez ajouter au fichier de configuration entre les symboles #, le délai d'attente indiqué est un peu excessif (1 minute)

<service>
    <name>web_http</name>
    <server>
      <address>x.x.x.x:80</address>
      <type>tcp</type>
      <dispatchmode>first-available</dispatchmode>

#

      <clienttimeout>60:60</clienttimeout>
      <backendtimeout>60:60</backendtimeout>

#

    </server>
      <backend>
        <address>x.x.x.x:80</address>
      </backend>
      <backend>
        <address>x.x.x.x:80</address>
      </backend>
      <backend>
        <address>x.x.x.x:80</address>
      </backend>
  </service>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top