Torque : problème de socket réutilisée

Torque : problème de socket réutilisée - Java - Programmation

Marsh Posté le 14-04-2006 à 14:10:51    

Bonjour à toutes et à tous,
 
j'aurais voulu avoir des idées concernant un problème que je rencontre lors des montées en charge de mon appli n-tiers basée sur Torque/Turbine/Velocity avec une base SQL Server derrière.
 
J'utilise le driver Microsoft, j'ai essayé plusieurs pool de connection fournis avec Torque, mais rien n'y fait : dès que je monte en charge pour arriver dans les 30 users simultannés (ce qui est ridicule), ça se vautre niveau connexion et les utilisateurs tombent en timeout ....
Mon outil de test de montée en charge m'indique que l'appli tente d'utiliser plusieurs fois une même socket simultanément (ERROR 10048).
Mais étant donné que c'est Torque qui s'occupe de cette partie là, j'ai du mal à trouver une solution ...
 
 
Quelqu'un aurait des idées ?
 
D'avance merci.
:hello:

Message cité 1 fois
Message édité par Notsukaw le 14-04-2006 à 14:11:40

---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 14-04-2006 à 14:10:51   

Reply

Marsh Posté le 14-04-2006 à 16:16:46    

Notsukaw a écrit :

Bonjour à toutes et à tous,
 
j'aurais voulu avoir des idées concernant un problème que je rencontre lors des montées en charge de mon appli n-tiers basée sur Torque/Turbine/Velocity avec une base SQL Server derrière.
 
J'utilise le driver Microsoft, j'ai essayé plusieurs pool de connection fournis avec Torque, mais rien n'y fait : dès que je monte en charge pour arriver dans les 30 users simultannés (ce qui est ridicule), ça se vautre niveau connexion et les utilisateurs tombent en timeout ....
Mon outil de test de montée en charge m'indique que l'appli tente d'utiliser plusieurs fois une même socket simultanément (ERROR 10048).
Mais étant donné que c'est Torque qui s'occupe de cette partie là, j'ai du mal à trouver une solution ...
 
 
Quelqu'un aurait des idées ?
 
D'avance merci.
:hello:


 
 
ça serait pas OpenSTA que tu utilises ?

Reply

Marsh Posté le 14-04-2006 à 16:22:42    

Yes, ce serait un problème côté OpenSTA ??


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Marsh Posté le 14-04-2006 à 16:27:44    

Notsukaw a écrit :

Yes, ce serait un problème côté OpenSTA ??


 
En fait j'ai eu un doute après avoir répondu, vu que le code d'erreur 10048 est apparemment générique quel que soit l'application qui rencontre ce problème réseau.
 
S'il s'agit bien d'OpenSTA, le soucis est du côté client (ta machine de test OpenSTA) : c'est un problème de configuration de TCP/IP pour ta machine, par défaut les paramètres ne sont pas réglés correctement pour utiliser une appli comme OpenSTA qui génère énormément de connexions à partir d'une seule machine.
 
Je te recopie les infos que j'ai collectées et les sources :
 

Citation :


Erreur «10048 Address already in use » dans l’error log à l’exécution :Il faut changer la configuration TCP/IP car le système empêche OpenSTA d'allouer plus de sockets pour ses connexions. Il est possible d'agir sur 2 paramètres en les modifiant dans la base des registres :
MaxUserPort
 
* Description : Détermine le numéro de port le plus élevé que TCP/IP peut allouer lorsqu'une application demande un port utilisateur disponible sur le système.
 
* Comment afficher et définir :
 
1. Utilisez la commande regedit, accédez à la sous-clé de registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters et créez une valeur REG_DWORD appelée MaxUserPort.
 
2. Choisissez une valeur décimale supérieure ou égale à 32768.
 
3. Arrêtez puis redémarrez le système.
 
* Valeur par défaut : Aucune
 
* Valeur recommandée : Valeur décimale 32768 au minimum.
 
 
 
    *
 
      TcpTimedWaitDelay
 
* Description : Délai qui doit s'écouler avant que TCP/IP puisse libérer une connexion fermée et réutiliser ses ressources. Cet intervalle entre la fermeture et la libération correspond à l'état TIME_WAIT ou à une valeur représentant le double de la durée de vie maximale du segment (2MSL). Pendant cette période, il est plus avantageux en terme de coût de rouvrir la connexion sur le client et le serveur que d'établir une nouvelle connexion. Si vous réduisez la valeur de cette entrée, TCP/IP peut libérer plus rapidement les connexions fermées et fournir davantage de ressources pour les nouvelles connexions. Modifiez ce paramètre si l'application en cours d'exécution requiert une libération rapide, la création de nouvelles connexions ou un ajustement en raison d'un faible débit dû à un nombre élevé de connexions à l'état TIME_WAIT.
 
* Comment afficher et définir :
 
1. Utilisez la commande regedit, accédez à la sous-clé de registre HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters et créez une valeur REG_DWORD appelée TcpTimedWaitDelay.
 
2. Choisissez la valeur décimale 30, qui correspond à la valeur hexadécimale 0x0000001e. Cette valeur fixe le délai d'attente à 30 secondes.
 
3. Arrêtez puis redémarrez le système.
 
* Valeur par défaut : 0xF0, qui fixe le délai d'attente à 240 secondes (4 minutes).
 
      Valeur recommandée : Valeur minimale de 0x1E, qui fixe le délai d'attente à 30 secondes.
 
Source : http://portal.opensta.org/modules. [...] file=index
 
Source : Paramétrage de la configuration TCP/IP sur Windows http://publib.boulder.ibm.com/info [...] ndows.html
 
 


Message édité par frabill le 14-04-2006 à 16:29:08
Reply

Marsh Posté le 14-04-2006 à 16:37:32    

Merci beaucoup, je test ça de suite !


---------------
[ Canon EOS 30D ] (Grip + Canon 50mm f/1.4 + Canon 18-55mm USM + Tamron 70-300mm Di LD Macro)  [Galerie perso]
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed