Где я могу получить самую свежую информацию об aio в Linux 2.6.x?

StackOverflow https://stackoverflow.com/questions/3295994

  •  18-09-2020
  •  | 
  •  

Вопрос

Недавно я учусь писать высокопроизводительный веб-сервер. RedHat провел эксперимент, согласно которому epoll работает быстрее, чем aio.кто-то говорит это потому, что aio в ядре Linux реализован с помощью pthread.Мне трудно найти свежую информацию, подтверждающую это. Кроме того, я не знаю, является ли epoll лучше, чем aio сейчас в Linux? Поэтому я хочу знать, где я могу получить самую свежую информацию об aio в Linux 2.6.x.Большое спасибо!

Это было полезно?

Решение

Я исследую ту же область.

Можете ли вы вообще заставить aio работать в Linux?Я пишу 300M с помощью aio_write() и вижу их как грязные страницы в кеше.Это означает, что они передаются не напрямую в планировщик ввода-вывода, а в виртуальную машину, а затем в pdflush/flush.Это означает, что aio так же хорошо/плохо, как и просто буферизованное io.

У меня 2.6.16.46 на сборочной машине и 2.6.27.19 на целевой.Это не совсем новейшее ядро/библиотеки Linux, так что это может быть проблемой.

Другим аспектом является используемый вами планировщик ввода-вывода.CFQ предпочитает синхронный ввод-вывод, но может быть настроен на асинхронный режим.Он также поддерживает приоритеты ввода-вывода.

Для начала я бы рекомендовал посмотреть несколько мест, когда вы выполняете ввод-вывод:

  1. /proc/meminfo — посмотреть тенденции грязных страниц
  2. echo 1 > /proc/sys/vm/block_dump и посмотрите системный журнал, вы увидите, кто и когда пишет
  3. sar -dp 1 — посмотреть, используются ли ваши устройства на 100%
  4. компакт-диск /прок;кошка */статус | Грепское состояние - посмотрите, кто заблокирован на диске
  5. /sys/block//queue/iosched — настройки планировщика ввода-вывода
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top