2010-07-21 21 views
3

Récemment, j'apprends comment écrire un serveur Web haute performance. RedHat a fait l'expérience d'un epoll plus rapide que aio. quelqu'un dit que parce que aio dans le noyau Linux est implémenté avec pthread. Il est difficile pour moi de trouver les dernières informations pour le prouver.Also je ne sais pas, c'est encore mieux que sur AIO Linux maintenant donc je veux savoir où puis-je obtenir les dernières informations sur aio sur Linux 2.6.x. Merci beaucoup!Où puis-je obtenir les dernières informations sur aio sous Linux 2.6.x

Répondre

2

Je fais des recherches sur la même zone.

Pouvez-vous même faire fonctionner aio sous Linux? J'écris 300M avec aio_write() et les vois 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 aio est aussi bon/mauvais que juste io tamponné.

Je suis sur 2.6.16.46 sur la machine de construction et 2.6.27.19 sur la cible. Ce n'est pas exactement le noyau Linux/libs le plus récent, donc cela peut être un problème.

Un autre aspect est le planificateur d'E/S que vous utilisez. CFQ favorise les E/S synchrones, mais peut être réglé sur async. Il prend également en charge les priorités IO.

Pour commencer, je vous recommande de regarder quelques endroits lorsque vous exécutez votre IO:

  1. /proc/meminfo - voir pages sales tendances
  2. echo 1>/proc/sys/vm/block_dump et regarder syslog, vous verrez qui fait l'écriture et quand
  3. sar -dp 1 - voir si vos périphériques sont utilisés à 100%
  4. cd/proc; chat */statut | grep Etat - voir qui est bloqué sur le disque
  5. /sys/block // file d'attente/iosched - io tunables planificateur
+0

remercie ces me aide beaucoup;) – kkpattern