Назад | Перейти на главную страницу

Недостатки Linux Read-Ahead

Надеюсь все хорошо. У меня вопрос по кешированию с упреждающим чтением.

Есть ли недостатки в увеличении размера кэша упреждающего чтения?

В настоящее время на нашей ферме используется 256, и, подняв его выше, мы видим значительный прирост пропускной способности.

 

[root@server~]# hdparm -tT /dev/sda /dev/sda: 
Timing cached reads: 7352 MB in 2.00 seconds = 3677.62 MB/sec 3
Timing buffered disk reads: 244 MB in 3.10 seconds = 78.68 MB/sec 

[root@server ~]# blockdev --setra 10240 /dev/sda 

[root@server ~]# hdparm -tT /dev/sda /dev/sda: 
Timing cached reads: 11452 MB in 2.00 seconds = 5728.52 MB/sec 
Timing buffered disk reads: 422 MB in 3.17 seconds = 133.04 MB/sec

Мы работаем на 2.6. Спасибо!

Минусы:

  • Потраченный впустую ввод-вывод. Ваш компьютер может тратить время на чтение вещей с диска, который ему не нужен
  • Потраченная впустую память. Прочитанный материал, который не нужно было читать, хранится в памяти, которую можно было бы использовать для чего-то другого.

Вероятно, вам нужно придумать тест, который будет более репрезентативен для вашего реального использования, чем hdparm -t. hdparm -t выполняет последовательный доступ, что в случае, когда большое упреждающее чтение будет очень полезным. Когда у вас много произвольного доступа, выигрыш может быть не таким полезным и, вероятно, вредным.

Насколько мне известно, ваши данные не представляют опасности, просто есть вероятность ухудшения вашей производительности в зависимости от вашей конкретной рабочей нагрузки. Вероятно, это одна из тех вещей, которые вам придется настроить и протестировать. Я не думаю, что смогу сделать такое большое изменение (с 256-10240) за один шаг.