Эффект Readahead на Linux fread () - PullRequest
       27

Эффект Readahead на Linux fread ()

0 голосов
/ 06 декабря 2018

У меня проблема с производительностью чтения большого двоичного файла.

Моя стратегия:

  • Чтение фрагмента фиксированного размера из большого двоичного файла с помощью fread ().(например, 10 МБ)
  • Сон в течение n миллисекунд с помощью usleep () только для измерения производительности в режиме ожидания.

  • Повторяйте его, пока не будет прочитан весь файл.

Затем я провел эксперимент по приведенной выше стратегии для измерения производительности чтения вперед.Среда:

  • CentOS 7
  • 4 ГБ, двоичный файл
  • Размеры блоков составляют 2 ~ 300 МБ на 2 МБ
  • Время ожидания, которое я тестировал, составляет 5,10, 50, 100, 300 мс и без сна

Результаты: enter image description here

Как вы можете видеть в результате, когда размер кускамало и время ожидания достаточно для чтения, время чтения короткое.Чем больше размер чанка или чем меньше время сна, тем ближе к 20 секундам читается время.

Затем я хочу провести регрессионный анализ этого графика.Какую функцию я должен использовать?В чем сложность моей стратегии?

...