|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
a_shatsЖуравлев Денис Намек про 8 мне какбы не интересен, потому что активных пользователей в единицу времени у меня обычно 1%. Т.е. 8 потоков для меня эмулируют работу 800 пользователей. А, ну тогда понятно. Но и в этом случае есть замечания: Informix вряд ли работает по одному блоку размером в 2 КБ, подозреваю, что как все - блоками побольше и burst'ами по несколько блоков за раз. Информикс под линуксом как раз работает с блоком 2кб (по умолчанию). И в oltp системах в 90% случаев нужен один 2кб блок. И работает он асинхронно, поэтому обычно число io потоков = числу cpu. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2009, 16:49 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
a_shatssvat2, Кэш дисков - подразумевается кэш записи на самих винтах, судя по всему. А поскольку он никакими BBU не страхуется - дОлжно его отключать. Все верно. Речь именно о кэше дисков. Он выключен именно по этой причине. Кэш контроллеров включен. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2009, 17:01 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
a_shats[quot Журавлев Денис] А, ну тогда понятно. Но и в этом случае есть замечания: Informix вряд ли работает по одному блоку размером в 2 КБ, подозреваю, что как все - блоками побольше и burst'ами по несколько блоков за раз. Да мультиблочные и чтение и запись присутствуют. Но мультиблочное чтение и запись гораздо дешевле рандома. Я вам даже больше скажу, асинхронный алгоритм ввода вывода informix пытается собрать одноблочные операции ВВ, которые иницированы разными пользовательскими сессиями паралельно , в многоблочные. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2009, 17:20 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
onstat- Да мультиблочные и чтение и запись присутствуют. Но мультиблочное чтение и запись гораздо дешевле рандома. Я вам даже больше скажу, асинхронный алгоритм ввода вывода informix пытается собрать одноблочные операции ВВ, которые иницированы разными пользовательскими сессиями паралельно , в многоблочные. Мультиблочное чтение при RA включается? Увеличение количества дисков в системе как раз было сделано для того, чтобы повысить скорость рандомных операций. Но, как показывают тесты, увеличение количества дисков в массиве увеличивает суммарную скорость операций рандомного чтения только при работе нескольких пользовательских потоков параллельно. Имеет право на жизнь такое утверждение? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2009, 17:36 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
Павел. СКэш контроллеров включен. 1) режим WriteBack или WriteThrough ? 2) каков размер страйпа ? 3) никакого rebuild массива, случаем, не происходит в момент измерения ? 4) вы не троль? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2009, 17:43 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
svat2Павел. СКэш контроллеров включен. 1) режим WriteBack или WriteThrough ? 2) каков размер страйпа ? 3) никакого rebuild массива, случаем, не происходит в момент измерения ? 4) вы не троль? 1) WriteBack. Там другого и не включишь. Контроллер с батарейкой. 2) 128 KB 3) нет, все спокойно, все харды на месте. Ничего не происходит. 4) не замечал за собой ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2009, 17:56 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
Павел. С Мультиблочное чтение при RA включается? Да Павел. С Увеличение количества дисков в системе как раз было сделано для того, чтобы повысить скорость рандомных операций. ИМХО вы создает узкое место на уровне входа в раид в очереди скизи команд. При правильном разложении данных по 1ым раидам скорость будет выше. При создании софтверного раида на LVM скорость будет выше. Контроллер сможет паралелить операции между разными томами , внутри одного тома могут возникать всякие блокировки при конкуренции операции ВВ. Павел. С Но, как показывают тесты, увеличение количества дисков в массиве увеличивает суммарную скорость операций рандомного чтения только при работе нескольких пользовательских потоков параллельно. Имеет право на жизнь такое утверждение? Нужно заставить сервер эффективно использовать PDQ, что бы параллелилась одна сессия. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2009, 18:31 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
onstat- ИМХО вы создает узкое место на уровне входа в раид в очереди скизи команд. При правильном разложении данных по 1ым раидам скорость будет выше. При создании софтверного раида на LVM скорость будет выше. Контроллер сможет паралелить операции между разными томами , внутри одного тома могут возникать всякие блокировки при конкуренции операции ВВ. Чиво-о-о ? (с) Особенно порадовало про софтовый RAID на LVM. Очень рекомендую уточнить, чем нынешние контроллеры отличаются от тех, что применялись 10 лет назад. А именно тогда были описаны и обоснованы Вами процитированные тезисы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2009, 20:02 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
a_shatsonstat- ИМХО вы создает узкое место на уровне входа в раид в очереди скизи команд. При правильном разложении данных по 1ым раидам скорость будет выше. При создании софтверного раида на LVM скорость будет выше. Контроллер сможет паралелить операции между разными томами , внутри одного тома могут возникать всякие блокировки при конкуренции операции ВВ. Чиво-о-о ? (с) Особенно порадовало про софтовый RAID на LVM. Очень рекомендую уточнить, чем нынешние контроллеры отличаются от тех, что применялись 10 лет назад. А именно тогда были описаны и обоснованы Вами процитированные тезисы. Посмотрите чем отличаются драйверы, и сколько скази команд одновременно можно поставить на ввод вывод на 10 Раид из N дисков и сколько можно поставить на N/2 томов raid1. Под линуксом смотреть на iostat -x <device> 1 10 смотреть на avgrq-sz avgqu-sz . и сравниваем результаты тестов. На софтвертом страйпе из N/2 томов raid1 можно потерять на CPU , но пропихнуть больше скази команд. Именно команд( IOPS) , а не получить большую скорость ВВ. На мультиблочном ВВ аппаратный раид будет быстрее , этого я отрицать не буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2009, 20:51 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
Павел. С Но, как показывают тесты, увеличение количества дисков в массиве увеличивает суммарную скорость операций рандомного чтения только при работе нескольких пользовательских потоков параллельно. Имеет право на жизнь такое утверждение? Кстати, о тестах, если кому интересно. Взял второй сервер (Linux) и выполнил 2 одинаковых бенчмарка, но на разных дисках ОС. Код: plaintext 1.
Интересные результаты: 1ый диск из 2х физ. дисков Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
2ой диск из 24х физ. дисков Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Получается, что на случайной записи результат одинаковый, а на случайном чтении массив из 24х дисков выигрывает массиву из 2х дисков в 11.6 раз. Т.е. в 24/2 раза. Но справедливо это, к сожалению, только для многих потоков. Их большое количество заставляет контроллер вертеть всеми блинами одновременно и с одинаковой пользой. Рост производительности вообще линейный. Для 1го потока такого различия не должно быть. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 10:20 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
Получается, что на случайной записи результат одинаковый Проглядел, результат на случайной записи совсем разный. На последовательностной записи одинаковый. Здесь, похоже, именно кэш контроллера играет роль. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 10:25 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
onstat-, ОС никаким образом не ставит SCSI команды в очередь к дискам на RAID-контроллере. Это делает интерфейс к винтам, в данном случае - интерфейс RAID-контроллера, о котором ОС ничего не знает и мерить никак не может. И переупорядочивать очередь команд, управляемую им - тоже. Управляет процессом RAID-контроллер, сообразуясь с наличием/отсутствием в кэше нужных блоков и собственной логикой (точнее - логикой фирмвареписателей). У софтового RAID собственного кэша нет вообще - им служит файловый кэш ОС. Который довольно туп - в силу универсальности. Туп - в плане предвыборки, отложенной записи и оптимизации всех этих дел. Да, в ряде ОС все это можно частично настроить руками - но если Вы скажете, что знаете об оптимизации ввода-вывода больше, чем инженеры LSI, Adaptec и иже с ними, с наработанным десятилетиями опытом , занимающиеся только этим - позвольте в этом усомниться. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 12:15 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
Павел. С, Получается, что на случайной записи результат одинаковый, а на случайном чтении массив из 24х дисков выигрывает массиву из 2х дисков в 11.6 раз. Т.е. в 24/2 раза. Но справедливо это, к сожалению, только для многих потоков. Их большое количество заставляет контроллер вертеть всеми блинами одновременно и с одинаковой пользой. Рост производительности вообще линейный. Ну, примерно это я и имел в виду :) Разве что - линейного роста добиться бывает сложно, а иногда - и невозможно, но это, как правило - на бОльшей нагрузке и при бОльшем количестве винтов. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 12:17 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
a_shatsonstat-, ОС никаким образом не ставит SCSI команды в очередь к дискам на RAID-контроллере. Это делает интерфейс к винтам, в данном случае - интерфейс RAID-контроллера, о котором ОС ничего не знает и мерить никак не может. И переупорядочивать очередь команд, управляемую им - тоже. Управляет процессом RAID-контроллер, сообразуясь с наличием/отсутствием в кэше нужных блоков и собственной логикой (точнее - логикой фирмвареписателей). У софтового RAID собственного кэша нет вообще - им служит файловый кэш ОС. Который довольно туп - в силу универсальности. Туп - в плане предвыборки, отложенной записи и оптимизации всех этих дел. Да, в ряде ОС все это можно частично настроить руками - но если Вы скажете, что знаете об оптимизации ввода-вывода больше, чем инженеры LSI, Adaptec и иже с ними, с наработанным десятилетиями опытом , занимающиеся только этим - позвольте в этом усомниться. До оптимизации ввода вывода контролером дело еще не доходит, потому как скази команда еще торчит в очереди на ввод вывод в драйвере устройства. В узком горлышке драйвера устройства. Когда таких горлышек много , очередь паралелится. Я вам даже больше скажу, если средствами контроллера 10 раид можно побить на логические тома , а потом соеденить попка в попке в ОС через LVM То количество IOPs тоже растет по сравнению с использованием одного большого тома. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 12:39 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
onstat- До оптимизации ввода вывода контролером дело еще не доходит, потому как скази команда еще торчит в очереди на ввод вывод в драйвере устройства. Ага, так мы о разных вещах говорим. В узком горлышке драйвера устройства. Когда таких горлышек много , очередь паралелится. А вот тут имеет место недопонимание. Очередь команд в/в ОС не параллелится - а едет к контроллеру, как есть. FIFO, бубёныть. Вот внутри него - да, определяется, какие реально (а не те, что видит ОС) блоки надо читать/писать, на какие винты, и как это переупорядочить оптимизации ради. Я вам даже больше скажу, если средствами контроллера 10 раид можно побить на логические тома , а потом соеденить попка в попке в ОС через LVM То количество IOPs тоже растет по сравнению с использованием одного большого тома. А вот это ни разу не факт, может быть даже и наоборот, т.к. зависит от заточки фирмваре контроллера + кучи доп. факторов. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 13:23 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
onstat-a_shatsЖуравлев Денис, амекаю - у Вас с базой работает 1, 8 или несколько больше пользователей ? У INFORMIX DS ассинхронные и чтение и запись, количество пишущих и читающих процессов от количества пользователей не зависит. Зависит только от параметров . Вот-вот, читал подряд и все ждал, когда кто нибудь вспомнит, что тестировать сотни потоков для Информикса не нужно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 13:04 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
a_shatsПавел. С, Вы хотите протестировать, насколько контроллерам пофиг на ту ерунду, которой Вы их пытаетесь нагрузить ? 8 потоков с безумной кучей разнообразных паттернов нагрузок подряд, блоками 2КБайт, объемом меньше кэша - это не тестирование, а непонятно что. Тестируйте - сотней потоков, конкретными нагрузками (отдельно random read, отдельно random write - за это отвечает параметр -i), объем - от десятка гигабайт и выше. Про сотни потоков уже сказали. Это не имеет смысла в данном случае. И все таки, даже на нагрузке "ерунда" почему такие разные результаты ? Это из-за разных платформ (и, надеюсь, каких то исправимых несуразностей в Линуксе)? Или из-за разных конфигураций тестируемого оборудования ? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 13:09 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
Павел. СУ меня есть несколько предположений, но все они кажутся мне маловероятными: 1) я что-то криво настроил ))) 2) у меня сбоит железо. 3) Linux работает с этим железом не так как надо 4) мой бенчмарк не подходит для сравнения производительности дисков на разных ОС. 5) Я чего-то не понимаю, и количество дисков в массиве (2 против 24) не должно влиять на общую производительность системы при рандомном чтении в несколько потоков. Если вернуться снова к начальным вопросам. заданным топикстартером, может кто то все таки кратко ответить (на данный конкретный случай) или подвести краткие итоги и сделать выводы "для будущих поколений" - я надеюсь поместить в FAQ :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 13:17 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
a_shats onstat- В узком горлышке драйвера устройства. Когда таких горлышек много , очередь паралелится. А вот тут имеет место недопонимание. Очередь команд в/в ОС не параллелится - а едет к контроллеру, как есть. FIFO, бубёныть. Вот внутри него - да, определяется, какие реально (а не те, что видит ОС) блоки надо читать/писать, на какие винты, и как это переупорядочить оптимизации ради. Для каждого девайса в драйвере есть своя очередь. Потом эти очереди сходятся в одну. посмотрите iostat -x a_shats А вот это ни разу не факт, может быть даже и наоборот, т.к. зависит от заточки фирмваре контроллера + кучи доп. факторов. Согласен что не факт, но моя практика показывает , что это так для всего оборудования проходившего через мои руки. Не верите не надо. Я не буду выпрыгивать из штанов что бы это доказать для какого то конкретного железа. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 13:32 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
vasilis Если вернуться снова к начальным вопросам. заданным топикстартером, может кто то все таки кратко ответить (на данный конкретный случай) или подвести краткие итоги и сделать выводы "для будущих поколений" - я надеюсь поместить в FAQ :) Думаю что смысла писать ФАК по данному конкретному вопросу смысла нет. Слишком большая энтропия, которую создают разные типы массивов под разными ОС. Нужно либо сравнивать разные ОС и одинаковые массивы, либо разные массивы и однаковые ОС. Тогда и повторяемость будет выше и выше качество ФАК. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 13:37 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
vasilisПро сотни потоков уже сказали. Это не имеет смысла в данном случае. В случае Журавлев Денис - да, и он даже написал, почему именно :) И все таки, даже на нагрузке "ерунда" почему такие разные результаты ? Это из-за разных платформ (и, надеюсь, каких то исправимых несуразностей в Линуксе)? Или из-за разных конфигураций тестируемого оборудования ? Именно из-за того, что несуразная методика тестирования. Для понимания: запустите тест 10 раз - можете получить 10 разных результатов на каждой платформе. А так - количество потоков должно соответствовать тому, что на самом деле ожидается от сервиса, объем - тоже примерно такой (и обязательно - значительно больше кэша RAID, иначе его оптимизации перекорежат результаты), тип нагрузки в одном тесте - один конкретный, а не все вообще. Ну и неплохо бы - дать время "на разогрев", т.е. в случае с iozone - запустить тест несколько раз (с одной и той же нагрузкой - обязательно), добиваясь повторяемости результатов. onstat-Согласен что не факт, но моя практика показывает , что это так для всего оборудования проходившего через мои руки. Не верите не надо. Я не буду выпрыгивать из штанов что бы это доказать для какого то конкретного железа. Я ж не писал, что оно вообще никогда не помогает. Пример навскидку: имеем 2 порта HBA, двухконтроллерный внешний RAID, отдаем тома с разными типами нагрузки чрез разные контроллеры (даже если тома расположены на одном массиве, хотя тут эффект ниже) - и имеем весьма заметную разницу в производительности. Но: в случае с одним контроллером - даже если и поможет, то мало, а может и ухудшить производительность. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 14:29 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
a_shats Но: в случае с одним контроллером - даже если и поможет, то мало, а может и ухудшить производительность. Давайте попросим Павел. С средствами ОС равномерно размазать тестируемый файл на 12хRAID 1. И повторить тест ( особенно на запись) и сравним. Павел. С Получается, что на случайной записи результат одинаковый, а на случайном чтении массив из 24х дисков выигрывает массиву из 2х дисков в 11.6 раз. Т.е. в 24/2 раза. Но справедливо это, к сожалению, только для многих потоков. Их большое количество заставляет контроллер вертеть всеми блинами одновременно и с одинаковой пользой. Рост производительности вообще линейный. Если сейчаc разницы по записи ( RAID1 vs RAID10) праткически нет, то при размазывании данных между RAID1 она ИМХО появится. RAID 10 бьет RAID1 только на чтении за счет большего количества шпинделей. А при правильном размещении данных суммарная производительность рандомного ВВ (чтение + запись ) будет практически одинакова. Если будет преобладать запись то ИМХО N*RAID1 побьет RAID10 из такого же количества дисков. Все будет зависеть от качества "размазывания" данных по шпинделям. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 15:45 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
onstat- Давайте попросим Павел. С средствами ОС равномерно размазать тестируемый файл на 12хRAID 1. И повторить тест ( особенно на запись) и сравним. А давайте. Павел С., можно Вас попросить попробовать такой вариант, если сервер еще не в работе ? С условиями тестирования, описанными мной выше. А при правильном размещении данных суммарная производительность рандомного ВВ (чтение + запись ) будет практически одинакова. Если будет преобладать запись то ИМХО N*RAID1 побьет RAID10 из такого же количества дисков. Все будет зависеть от качества "размазывания" данных по шпинделям. Мое имхо - напротив, RAID10 побъет N*RAID1. Еще и потому, что RAID-контроллер всяко лучше сделает RAID0 из N*RAID1 и размажет по винтам блоки с данными :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 16:21 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
a_shatsА давайте. Павел С., можно Вас попросить попробовать такой вариант, если сервер еще не в работе ? С условиями тестирования, описанными мной выше. Нет проблем. Выложу результаты в следующем посте. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 17:00 |
|
Плохая производительность дисковой подсистемы на сервере под Informix.
|
|||
---|---|---|---|
#18+
Похожая история. Имеем два одинаковых сервера с HDR репликацией. OC SUSE SLES 10. СУБД Informix 10.00. Было замечено в процессе тестирования, что на первичном сервере архив 0 уровня делается 300сек , на вторичном - 30сек. Смотрим журналы RAID контроллера на основном сервере, видим сообщение - "устройство BBU - батарея разряжена или отсутствует, отменяю режим WRITE BACK". Меняем BBU - архив идет 30сек на обоих серверах. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2009, 17:48 |
|
|
start [/forum/topic.php?fid=44&msg=36189478&tid=1607730]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 336ms |
total: | 490ms |
0 / 0 |