Merci Vincent pour ces explications et recommandations, que j'ai prise en compte.
Néanmoins je me demande toujours pourquoi désactiver les TCP timestamps a un tel impact sur l'établissement des connexions TCP. Damien> je suis en contact aussi avec eux, mais comme tout CDN ils ne peuvent rien faire sur le trafic dynamique ;) Le 23 juillet 2013 12:14, Damien Wetzel <dwet...@nerim.net> a écrit : > Bonjour Greg, > On est en contact via cedexis. > Si l'utilisation du cdn peut soulager vos problemes de perfs n'hesitez pas > à l'utiliser. > Cordialement, > > Greg writes: > > Bonjour, > > > > je rencontre un problème d'établissement de connexions TCP sur un > serveur par forte charge, qui se concrétise par des > > timeouts de connexion. Ce serveur établit de nombreuses connexions : > > - serveur web NGiNX > > - fichiers statiques sur NFSv4 (4 connexions TCP) > > - reverse-proxy sur une 20ène de serveurs web Apache2/PHP, via l'IP > publique > > - reverse-proxy sur un cluster XMPP > > > > Evidemment il y a quelques axes d'améliorations simple : passer par le > réseau privé pour limiter les connexions sur > > l'interface réseau publique, ... mais ce n'est pas le but de ce mail. > > > > Sous forte charge, parfois une simple connexion TCP a des difficultés > pour s'établir. Pour tester, j'écarte des soucis > > potentiels avec NGiNX et lance un serveur netcat sur le port 8080 : > > nc -l -k 8080 > > > > et depuis un poste client sous Linux : > > while true; do date -R | tee -a /dev/stderr | nc -w 2 perceval.local > 8080 || echo ERR; sleep 0.2; done > > > > Lorsque le problème survient, des "ERR" s'affichent. > > > > A ce moment, j'ai tenté plusieurs choses pour tenter de trouver la > source de ces problèmes de connexions, et aucun ne > > s'est avéré "payant" : > > - désactiver le firewall > > - supprimer et décharger conntrack > > - changer l'algorythme de congestion TCP de cubic à autre chose > > - mesurer le nombre de connexions TCP établit ou en FIN_WAIT : à 10k > total le soucis peut très bien se produire ou pas > > - modifier plusieurs paramètre de config TCP / Kernel : > > net.ipv4.tcp_sack = 1 > > net.ipv4.tcp_fack = 1 > > net.ipv4.tcp_window_scaling = 1 > > net.ipv4.tcp_syncookies = 0 > > net.ipv4.tcp_low_latency = 0 > > net.core.netdev_max_backlog = 4000 > > net.ipv4.ip_local_port_range = 1024 65000 > > net.ipv4.tcp_max_syn_backlog = 163840 > > net.ipv4.tcp_synack_retries = 1 > > net.ipv4.tcp_fin_timeout = 10 > > net.ipv4.tcp_no_metrics_save = 1 > > net.ipv4.tcp_max_tw_buckets = 400000 > > net.core.somaxconn = 8192 > > fs.file-max = 1310720 > > net.ipv4.tcp_tw_recycle=1 > > net.ipv4.tcp_tw_reuse=1 > > > > En vain. Sauf un paramètre qui débloque tout quand il est désactivé : > > net.ipv4.tcp_timestamps=0 > > > > C'est très net, si je désactive les timestamps TCP coté serveur (ou > coté client forcément), je n'ai plus aucun problème > > d'établissement de connexions TCP. > > > > A ce moment commence les recherches sur Google, et tout ce que je > trouve est ambigu : il vaut mieux activer les > > timestamps TCP pour des raisons de performances, mais il faut mieux les > désactiver pour des problèmes de sécurité. > > Activé, l'attaquant peut récupérer l'uptime du serveur... Franchement > osef nan ? > > Ce qui me gène plus, c'est qu'il est conseillé d'activer ce paramètre > en cas de soucis de congestion TCP... > > > > Peut-être qu'avec la quantité de trafic, le kernel n'est pas capable de > fournir assez de timestamps ? Peut-être que la > > fréquence du timer Linux a une incidence ? > > Le kernel utilisé est le 3.5.5 avec les patchs Google d'activé (RPS, > RFS) et cette config de timer : > > CONFIG_NO_HZ=y > > CONFIG_HZ_250=y > > CONFIG_HZ=250 > > > > J'essaye avec 1000 HZ : aucune incidence. > > > > La désactivation de ce paramètre net.ipv4.tcp_timestamps ne doit pas > agir que sur les timestamps, peut-être que les > > algos de congestion TCP, ou certains modules, ou une partie de la stack > TCP, utilisent les timestamps TCP, et peut-être > > que c'est un de ces modules qui pose problème ? > > > > Avez vous déjà expérimenté ce type de soucis ? > > Je suis dispo pour faire des tests si vous avez des idées !! > > > > -- > > Greg > > > > > > ---------------------------------------------------------------------- > > _______________________________________________ > > Liste de diffusion du FRsAG > > http://www.frsag.org/ > > -- > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Damien WETZEL (ATANAR TECHNOLOGIES) ("`-/")_.-'"``-._ > http://www.atanar.com . . `; -._ )-;-,_`) > (v_,)' _ )`-.\ ``-' > Phone:+33 9 63 05 59 99 _.- _..-_/ / ((.' > - So much to do, so little time - ((,.-' ((,/ > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > -- Greg
_______________________________________________ Liste de diffusion du FRsAG http://www.frsag.org/