Программное обеспечение установка RAID10 пишет маленькие файлы чрезвычайно медленно, действительно ли это нормально?

Этот вопрос подтолкнул меня к вилке ZSH-Syntax - Highthighting и добавьте эту функцию. Я начал с проекта FileTypes , как Ramonovski предложил в комментарии, но он очень устарел в отношении оригинального ZSH-синтаксиса, не хватает большого функции, поддерживает только «256 цветных кодов» в $ Ls_colors и т. Д.

В конце я решил написать свои собственные функции, и результат выглядит так:

enter image description here

Обратите внимание на несколько вещей:

  1. Файлы (базенамена) и каталоги (Dirname) окрашены иначе. Это не похоже на стандарт LS , но мне нравится это лучше, и к своему вкусу это просто ошибка в LS .
  2. Все возможные атрибуты файлов учитываются, не только расширение файла * .xxx. Таким образом, например NULL из / dev / в качестве устройства устройства здесь желтый, как в команде ls .
  3. файлы без «специальных» атрибутов и без расширения по умолчанию (.zshrc на картинке)
  4. Имена каталогов решаются правильно с Tilde

, если вам это нравится, вы можете скачать из GitHub: http://github.com/jimmijjj/zsh-syntax-highlighting

1
05.11.2014, 18:21
3 ответа

RAID10 не ускоряет какую-либо форму O_ * Sync , по крайней мере, не для небольших файлов. Вы пишете 512B одновременно, и после каждой записи заставляют его на диск (плюс метаданные, необходимые для чтения его обратно, например, размер файла).

Это требует RAID10, пишет как минимум на 2 диска, вероятно, 4 (то есть все ваши диски). И все эти пишеты должны быть завершены до того, как он может вернуться в DD, так как это гарантия o_dsync .

1
28.01.2020, 01:51

Проблема исчезла при использовании PrintWriter и установке параметра UTF-8 вместо DataOutputStream при записи в файл. (Java)

-121--186740-

Я думаю, что вы просите предоставить пользователю, не являющемуся пользователем sudo, разрешения на привязку Nginx к привилегированным портам.

Если это так, то в файл /etc/sudoers (ярлык visudo ) необходимо добавить следующие строки:

Cmnd_Alias   NGINX = /path/to/binary/nginx
username ALL=NOPASSWD: NGINX

Конечно, в приведенном выше примере необходимо изменить /path/to/binary/ в соответствии с тем, где он находится в вашей системе, и имя пользователя в качестве имени пользователя, которое вы хотите запустить.

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

groupadd groupnamehere
usermod -G groupnamehere usertoaddtogrouphere

Теперь в файле sudoers замените приведенную выше строку username на следующую:

%groupnamehere ALL=NOPASSWD: NGINX

Чтобы проверить это, станьте пользователем и выполните команду:

1)Become the user =>  su - usernamehere
2)Check groups user is in => groups
3)Run command => sudo nginx restart
4)In case nginx isn't a global command run => sudo /path/to/binary/nginx restart
-121--230371-

Ваша команда dd дает мне 73,7 кБ/с - на твердотельном накопителе. Так что да, я думаю, это нормально. Или, скорее, dd просто не является хорошим эталоном.

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

(Вы замедляете его еще больше, если у вас есть 4K секторные диски, которые должны сделать что-то особенное, чтобы записать меньше, чем полный сектор.)

0
28.01.2020, 01:51

Вы не делаете «100b» (байт? Блоки? Каковы ваши намерения?) Куски, вы делаете 512 байтовых кусков. Это всегда медленно, потому что рейд использует 512 тыс. Куски. Это означает, что для каждый 512 байт системы RAID должен прочитать кусок 512K, обновлять 512 байт в этом кусочке, вычислять его четность и записывать данные + четность на диск. Он должен сделать обновление, расчет паритета и 512K + 512K четность, пишите каждый раз, когда каждый из 1000 блоков вы пишете. Прочитайте только один раз, когда это хранится в кэше буфера, и вся операция принимает только один блок RAID.

Итак, да, это нормально. Не делай этого: -)

Редактировать: вышеизложенное было бы верно для RAID5. Для RAID10 паритет не рассчитан, но для каждого DD блока 512 байтов еще 2 раза записано 512K, один для каждого зеркала. Таким образом, вы все еще пишете в общей сложности 1000 МБ при обновлении всего 512K. Возможно, система достаточно умна, чтобы выписать только обновленные секторы, но я сильно подозреваю, что это не то, что происходит. Также рассмотрите обновления для расчетного растрового изображения записи.

-1
28.01.2020, 01:51

Теги

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