Параметры монтирования и команды проверки производительности файлового хранилища

Ожидаемая производительность

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

Тип диска Чтение/запись (IOPS) при 4k размера блока Чтение/запись (МиБ/с) при 1m размера блока
basic 320 / 120 100 / 100

Параметры монтирования клиента Linux

Рекомендуется использовать следующие параметры монтирования NFS, особенно hard монтирование, async подключение, а также установить для параметров rsize и wsize значение 1 МБ, чтобы добиться максимальной производительности на экземплярах клиентских виртуальных машин Linux.

Default option Description
hard NFS клиент слушает запросы бесконечно
timeo=600 NFS клиент ожидает 600 децисекунд (60 секунд) прежде чем отправить повторный запрос
retrans=3 Клиент NFS трижды пытается выполнить запросы NFS, прежде чем предпринять дальнейшие действия по восстановлению
rsize=1048576 Клиент NFS может получить максимум 1 048 576 байт (1 МиБ) от сервера NFS на запрос READ
wsize=1048576 Клиент NFS может получить максимум 1 048 576 байт (1 МиБ) от сервера NFS за один запрос WRITE
resvport Клиент NFS использует привилегированный порт источника при взаимодействии с сервером NFS для этой точки монтирования
async Клиент NFS задерживает отправку записи приложения на сервер NFS до тех пор, пока не будут выполнены определенные условия
Использование опции синхронизации значительно снижает производительность

Проверка производительности NFS узла хранения

При использовании Linux можно использовать инструмент fio для тестирования пропускной способности чтения, записи и IOPS для экземпляров уровня Basic. Для проверки можно воспользоваться примерами ниже.

Проверка максимальной пропускной способности записи

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=write --blocksize=1m --iodepth=64 --readwrite=write

Проверка максимального количества операций ввода-вывода в секунду при записи

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=randwrite --blocksize=4k --iodepth=256 --readwrite=randwrite

Проверка максимальной пропускной способности чтения

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=read --blocksize=1m --iodepth=64 --readwrite=read

Проверка максимального количества операций ввода-вывода в секунду при чтении

fio --ioengine=libaio --filesize=32G --ramp_time=2s \
--runtime=5m --numjobs=16 --direct=1 --verify=0 --randrepeat=0 \
--group_reporting --directory=/mnt/nfs  \
--name=randread --blocksize=4k --iodepth=256 --readwrite=randread