Я пытаюсь понять размер блока и размер полосы. Я понимаю, что это может относиться к большему количеству конфигураций, чем просто RAID5, но меня особенно интересует RAID5, потому что я хотел бы понять взаимосвязь между размером блока и размером полосы, а также размерами, которые вызовут снижение производительности, и почему они вызывают проблемы с производительностью. ...
На данный момент я понимаю, что размер полосы - это объем пространства на каждом «столбце» (диске?) На диске, который принадлежит полосе (в основном это строка с одинаковым объемом пространства, проходящая через диск.
Итак, если размер полосы равен размеру блока, скажем, оба имеют размер 64 КБ, что происходит, когда я запускаю операцию записи, поступающую с SQL-сервера, которая выполняет все 64 КБ одновременно?
Будет ли вычисляться четность после каждых 64кб записи?
Полоса обычно больше блока. Если он намного больше, повлияет ли это на производительность?
Вот пример: у меня настроен массив HP - RAID5. Размер блока на моем логическом диске составляет 512 байт, размер выделенного блока Windows составляет 4 КБ, а размер полосы - 256 КБ. Я нахожусь в среде с высоким уровнем записи, а ускорение логического диска - это кэш контроллера, включен и установлен на 100%. / 0% (чтение / запись) Чего мне следует ожидать с точки зрения производительности? Какое отношение это имеет к соотношению между размером блока 512 байт и размером полосы 256 КБ?
Видишь, вот ты ошибаешься ....
Допустим, оба имеют размер 64 КБ, что происходит, когда я запускаю операцию записи, которая занимает всего несколько байтов на заполненном разделе диска? (возможно, большая база данных сервера sql)
Это невозможно.
Помимо того факта, что NTFS на самом деле имеет блоки размером 4 КБ или более - и НАСТОЯТЕЛЬНО рекомендуется установить это значение на 64 КБ для SQL Server.
SQL Server управляет страницами размером 8 КБ и всегда читает / записывает 8 страниц как экстент - 64 КБ.
http://msdn.microsoft.com/en-us/library/ms190969(v=sql.105).aspx
В результате для SQL Server нет такой вещи, как запись нескольких байтов. Выпишет 64кб.
Таким образом, для SQ LServer рекомендуется использовать размер узла NTFS 64 КБ (чтобы расширения не вызывали разделения операций ввода-вывода) и, очевидно, умноженный на размер полосы Raid в 64 КБ (поскольку корпоративная версия SQL Server любит читать заранее расширенные).
Для других элементов все аналогично - не SQL Server ... это зависит от интеллекта программиста и шаблонов доступа конкретного программного обеспечения.