Проблема с производительностью дискового ввода-вывода [закрыто]

NetBSD использует уровни безопасности ядра для определения того, какие операции можно выполнять в работающей системе. Из ссылки:

-1 Постоянно небезопасный режим

  • Не повышать уровень безопасности при загрузке

0 Небезопасный режим

  • Процесс init (PID 1) не может быть отслежен или доступен ptrace(2), systrace(4), или procfs.
  • Флаги файлов Immutable и Append-only могут быть изменены
  • Все устройства могут быть прочитаны или записаны в соответствии с их разрешениями

Примечание: Вы не можете запускать X11 выше этого безопасного уровня

Попробуйте sysutils/aperture, если вам это действительно нужно.

1 Безопасный режим

  • Все эффекты безопасного уровня 0
  • /dev/mem и /dev/kmem не могут быть записаны
  • Необработанные дисковые устройства смонтированных файловых систем доступны только для чтения
  • Неизменяемые и доступные только для добавления флаги файлов не могут быть удалены
  • Модули ядра не могут быть загружены или выгружены
  • The net.inet.ip. sourceroute sysctl(8) переменная не может быть изменена
  • Добавление или удаление sysctl(9) узлов запрещено
  • Смещение RTC не может быть изменено
  • Настройки set-id coredump не могут быть изменены
  • Присоединение IP-отладчика ядра, ipkdb(4), запрещено
  • Запросы на проход устройства, которые могут быть использованы для выполнения необработанного доступа к диску и/или памяти, запрещены
  • Вызовы iopl и ioperm запрещены
  • Доступ к неуправляемой памяти запрещен

2 Режим повышенной безопасности

  • Все эффекты уровня безопасности 1
  • Необработанные дисковые устройства всегда доступны только для чтения, независимо от того, смонтированы они или нет
  • Новые диски не могут быть смонтированы, а существующие могут быть только переведены из режима чтения-записи в режим только чтения
  • Системные часы не могут быть установлены назад или близки к переполнению
  • Запрещено изменять имя coredump для каждого процесса
  • Запрещено изменять правила фильтрации пакетов и NAT

Моя система работала на уровне безопасности 1, поэтому "модули ядра не могут быть загружены или выгружены". Кроме того, установка npf=YES в rc.conf не приводит к автоматической загрузке соответствующего модуля ядра. Нельзя понизить уровень безопасности ядра во время выполнения, поэтому возможны следующие варианты:

  • Загрузка на более низкий уровень безопасности, затем загрузка модуля и повышение уровня безопасности, или
  • Загрузка модуля во время загрузки

Очевидно, что последний вариант лучше. Чтобы загрузить модуль ядра при загрузке, необходимо убедиться, что rc.conf содержит:

modules=YES

Затем отредактируйте (или создайте) /etc/modules.conf, чтобы он содержал список модулей для загрузки, по одному в строке. В данном случае:

# echo npf >> /etc/modules.conf

1
24.08.2016, 12:16
2 ответа

Это похоже на проблему производительности диска.

Вы должны получить что-то между 20 МБ/с и 80 МБ/с в зависимости от размера блока, я думаю. Я нашел это старое сравнение 10k дисков, где можно посмотреть, как работают разные диски http://techreport.com/review/5236/10k-rpm-hard-drive-comparison/7 .

Я также нашел тему на форуме dell, где кто-то столкнулся с такой же проблемой: http://en.community.dell.com/support-forums/servers/f/906/t/19475037

Чтобы ответить на ваш вопрос: Нет 5-6 MB/s это не нормально.

2
27.01.2020, 23:25

Это разумный тест для последовательной записи. Общая производительность жесткого диска должна быть в районе 100 МБ/с. В тайминги следует включить финальную синхронизацию, поэтому может показаться, что ваш компьютер работает в два раза быстрее.

Вы можете увидеть разброс около +-30 на разных типах дисков. RAID может повлиять на это, но в целом он не должен вызывать значительного замедления, не для последовательной записи. (Возможно, если бы вы использовали conv=sync).

Ваш сервер не должен выполнять последовательную запись со скоростью 5 МБ/с, это просто неправильно. Обратите внимание, что одной из причин низкой производительности является отказ диска.

1
27.01.2020, 23:25

Теги

Похожие вопросы