Question

Récemment, j'apprends comment écrire un serveur Web haute performance. Il existe une expérience de RedHat indique que Epoll est plus rapide que l'AIO.Quelqu'un dit que parce que l'AIO dans le noyau Linux est mis en œuvre avec Pthread.Il est difficile pour moi de trouver les dernières informations pour prouver cela.Aso je ne sais pas, c'est Epoll, toujours mieux que l'AIO maintenant sur Linux? Donc je veux savoir où puis-je obtenir les dernières informations sur l'AIO sur Linux 2.6.x.Thx beaucoup!

Était-ce utile?

La solution

Je recherche la même zone.

Pouvez-vous même faire de l'AIO sur le travail Linux? J'écris 300m avec aio_write () et les voir comme des pages sales dans le cache. Cela signifie qu'ils ne vont pas directement au planificateur IO, mais à la machine virtuelle et plus tard PDFlush / Flush. Ce qui signifie que l'aio est aussi bon / mauvais que zootylique io.

Je suis le 2.6.16.46 sur la machine de construction et 2.6.27.19 sur la cible. Ce n'est pas vraiment le plus récent noyau / libs Linux, afin que ce soit un problème.

Un autre aspect est le planificateur IO que vous utilisez. CFQ favorise l'IO synchrone, mais peut être réglé pour Async. Il soutient également les priorités IO.

Pour commencer, je recommanderais de regarder quelques endroits lorsque vous exécutez votre Io:

  1. / proc / meminfo - voir les tendances de pages sales
  2. Echo 1> / proc / sys / vm / block_dump et surveillez Syslog, vous verrez qui fait l'écriture et quand
  3. SAR -DP 1 - Voir si vos appareils sont utilisés à 100%
  4. CD / Proc; chat * / statut | State Grep - Voir qui est bloqué sur le disque
  5. / sys / block // file d'attente / iOSCHED - Tunables du planificateur IO
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top