68 votes

tcp_tw_reuse vs tcp_tw_recycle: Lequel utiliser (ou les deux)?

J'ai un site web et d'application qui utilisent un nombre important de connexions. Il a normalement environ 3 000 connexions statique ouvrir, et peuvent recevoir n'importe où à partir de 5 000 à 50 000 tentatives de connexion en quelques secondes, laps de temps.

J'ai eu le problème de l'exécution des ports à ouvrir de nouvelles connexions en raison de TIME_WAIT statut de sockets. Même avec tcp_fin_timeout réglé à une valeur faible (1 à 5), cela semble juste être la cause de trop de frais généraux/de ralentissement, et il serait encore de temps en temps être incapable d'ouvrir un nouveau socket.

J'ai regardé tcp_tw_reuse et tcp_tw_recycle, mais je ne suis pas sûr de ce qui devrait être le choix préféré, ou si vous utilisez les deux d'entre eux est une option.

66voto

Cédric Julien Points 24177

Selon la documentation de Linux, vous devez utiliser le TCP_TW_REUSE indicateur pour permettre la réutilisation des sockets en état TIME_WAIT pour les nouvelles connexions.

Il semble être une bonne option lorsque vous traitez avec un serveur web qui ont à gérer de nombreux court connexions TCP laissé dans un état TIME_WAIT.

Comme décrit ici, Le TCP_TW_RECYCLE pourrait causer des problèmes lors de l'utilisation de répartiteurs de charge...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X