я использую iozone
версия 3.373 для тестирования NFSv4 и NBD, но результаты немного странные! Он говорит, что выходные данные в килобайтах / сек, но я получаю такие значения, как 3 411 938 для случайного чтения. Я использую сеть Ethernet 10/100 и лучшую пропускную способность, используя netperf
составляет около 96 Мбит / с. Я действительно выполняю следующую команду.
iozone -i 0 -i 1 -i 2 -i 8 -a -Rb nbd.xls -g 10M -q 1M
Эти высокие значения поступают из буферного кеша. Домашняя страница NFS рекомендует -U
возможность избежать этого. Еще один хороший вариант - попробовать -I
. я нахожу Эта бумага очень полезно для запуска IOzone на монтировании NFS.
Ответ прост: кеширование.
Если размер ваших данных меньше доступного ОЗУ, то некоторые или все данные могут быть кэшированы после начальной записи. Это очень быстро, и поэтому вы получаете такую высокую пропускную способность. Вы действительно можете увидеть этот эффект, если сделаете -i 0 -i 1
тесты на размер файлов выше и ниже доступной RAM.
Альтернативой является использование -I
flag, который указывает iozone использовать DIRECTIO для операций ввода-вывода. Они не кэшируются.