Je me demande si tailf peut générer des E/S bloquantes qui ralentiront la réactivité du serveur en raison de la journalisation.
Par exemple, en supposant la configuration suivante :
Un serveur linux Debian 5.1 (foo) qui est géré via un terminal (foo est hébergé sur EC2).
Foo exécute plusieurs applications, chacune écrivant dans son propre fichier journal. A titre d'exemple, Apache httpd vers /var/log/apache/access.log & Tomcat 5.5 vers /var/log/tomcat5.5/myApp.log.
Si j'ouvre une connexion ssh à foo, (note : liaison Internet, latence élevée, téléchargement relativement lent) et que j'exécute tail -F /var/log/apache/access.log
ne puis-je pas arriver à une situation où le noyau bloque les écritures de httpd dans ce fichier journal et ralentit ainsi les performances de httpd à cause de l'attente imposée à chaque thread ?
Pour donner quelques chiffres, supposons que foo enregistre ~200kb de données de journal par seconde qui doivent être poussées sur le fil vers le client ssh.
Un autre aspect théorique : Que se passerait-il si le système de fichiers /var/log était placé sur une RAM de taille infinie (rappelez-vous : en théorie) de sorte que le temps de recherche sur le disque dur soit éliminé ?
Troisièmement, que se passerait-il si j'ouvrais la connexion ssh à partir d'un lien très lent (supposons que foo est configuré pour n'envoyer que 5kb/s) ?
J'aimerais savoir ce que vous en pensez.
Merci pour votre lecture, Maxim.