Я проверял, насколько быстро работает мой сервер хранения ZFS. У меня есть несколько больших файлов (> 30 ГБ), и я использую dd
piped в /dev/null
для проверки скорости чтения.
Когда я запускаю dd
для определенного файла в первый раз, я получаю постоянный результат около 95 МБ / с. Я использовал оба сигнала и pv
для мониторинга прогресса, и они дали одинаковые результаты.
Однако при повторном запуске dd
происходит нечто необычное:
407+0 records in
406+0 records out
425721856 bytes (426 MB, 406 MiB) copied, 4.61932 s, 92.2 MB/s
911+0 records in
910+0 records out
954204160 bytes (954 MB, 910 MiB) copied, 9.66672 s, 98.7 MB/s
1412+0 records in
1411+0 records out
1479540736 bytes (1.5 GB, 1.4 GiB) copied, 14.7018 s, 101 MB/s
12374+0 records in
12373+0 records out
12974030848 bytes (13 GB, 12 GiB) copied, 19.7579 s, 657 MB/s
12854+0 records in
12853+0 records out
13477347328 bytes (13 GB, 13 GiB) copied, 24.7491 s, 545 MB/s
Что вызывает внезапный всплеск от 1,5 до 13 ГБ? Я думаю, что кеш ZFS ответственен (сервер имеет 64 ГБ ОЗУ, поэтому это возможно), однако сервер (FreeBSD) подключен к моему клиенту (OSX) по одной ссылке 1 Гбит / с, которая определенно не может обрабатывать 657 МБ / с. скорость. Сжатие также маловероятно, поскольку файл содержит почти случайные данные.
Изменить: Извините, возможно, я задал свой вопрос в замешательстве.
У меня есть сервер FreeBSD с файловой системой ZFS. Этот сервер разделяет файл, используя протокол AFP.
Я подключаюсь к нему с помощью настольного ПК под управлением OSX 10.10. И конечно я запускаю dd
на клиенте.
dd if=/Volumes/NetworkShare/testfile.dat of=/dev/null bs=1048576
При запуске непосредственно на сервере, dd
показывает более 625 МБ / с (что кажется нормальным, поскольку zpool имеет данные, чередующиеся на 8 дисках).