Распределение баз на SQL серверах

В этом разделе обсуждаются серверы для работы с 1С

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
Саша235
Advanced member
Сообщения: 101
Зарегистрирован: 20 мар 2007, 12:22
Откуда: СПб

Распределение баз на SQL серверах

Сообщение Саша235 » 23 авг 2013, 16:07

Дайте пожалуйста совет как распределять SQL базы для 1С по разным SQL серверам. Есть несколько двухсокетных SQL серверов, которые тянут штук 40 баз SQL. В основном для 1С. Базы как-то размазаны по этим серверам. Обычно мощности серверов хватает. Но если в какой-либо базе начинается эксклюзив, типа сдачи отчетности или предоставления документов для проверки, то деградируют соседствующие на этом сервере базы и пользаки начинают стонать. Прогеры челы прстые и говорят - давай каждой базе дадим свой сервер, не считая совсем мелких. Их понять можно, закупают и выбивают деньги не они. Но покупать много серверов и использовать их в основном на 5% вроде глупо. Пилить существующие на инстансы тоже не хорошо - уменьшается пиковая мощность каждого инстанса. Виртуализацию прошу не предлагать, уже наелся. Не подскажете как "обычно" решается такой вопрос? Если это важно, то жизнь идет на 2008r2+sql2005. Базы от 0 до 500Гб. Прошу прощения если немного офтопик.

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Re: Распределение баз на SQL серверах

Сообщение gs » 23 авг 2013, 16:12

Как раз виртуализация такие задачи решает легко и непринужденно - путем перемещения нагруженных машин по нодам.
Впрочем, для начала надо выяснить, что именно тормозит.

Саша235
Advanced member
Сообщения: 101
Зарегистрирован: 20 мар 2007, 12:22
Откуда: СПб

Re: Распределение баз на SQL серверах

Сообщение Саша235 » 23 авг 2013, 16:21

Тормозят скули. Большая загрузка проца. С виртуализацией дело не пошло. Перевод скуля на это же железо на esxi 5.1u1 дает деградацию производительности и раз в несколько дней появляются глюки, которые лечатся перезагрузкой ВМ скуля. Без виртуализации скули работали неделями если не месяцами.

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Re: Распределение баз на SQL серверах

Сообщение gs » 23 авг 2013, 16:26

Значит плохо готовили.

Собственно, каким образом Вы собираетесь балансировать нагрузку на статических инстансах? Запас мощи Вы не хотите. Ну разве что CPU affinity для каждого инстанса жестко задать.
Насчет загрузки процессоров - это конечно здорово, но перфмон по винтам тоже весьма полезен. Причем в виде бинарного лога.

Саша235
Advanced member
Сообщения: 101
Зарегистрирован: 20 мар 2007, 12:22
Откуда: СПб

Re: Распределение баз на SQL серверах

Сообщение Саша235 » 23 авг 2013, 16:55

А что значит "плохо готовили"? Плохо настроил ESX чтобы на нем хороши жила одна ВМ скуля? Я и не делал каких-либо настроек, ведь одна ВМ потребляет все ресурсы хоста и у нее это получается, судя по периодическим алармам вмвари по памяти или процу.

Я затрудняюсь ответить "как я собираюсь балансировать". Поэтому и задал вопрос на форуме. Я пробовал и виртуализацию и взведение двух инстансов на одной винде с отдачей одного проца одному инстансу и другого другому через аффинити. И почему-то красоты не получили - откатились обратно и сейчас прогеры живут с мыслью(мечтой) на каждую приличную базу - отдельный сервер.

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Re: Распределение баз на SQL серверах

Сообщение gs » 23 авг 2013, 16:59

Насколько я помню, аффинити можно отдавать на уровне ядер, а не сокетов.

Саша235
Advanced member
Сообщения: 101
Зарегистрирован: 20 мар 2007, 12:22
Откуда: СПб

Re: Распределение баз на SQL серверах

Сообщение Саша235 » 23 авг 2013, 17:14

все верно, одну инстансу были отданы первые 6 ядер, второму последние :-)

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

Аватара пользователя
gs
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 16650
Зарегистрирован: 23 авг 2002, 17:34
Откуда: Москва
Контактная информация:

Re: Распределение баз на SQL серверах

Сообщение gs » 23 авг 2013, 17:16

Что мешает обоим инстансам отдать по 8-10 ядер (без пересечения), чтобы в случае чего и другому хватало? Но при одновременной нагрузке на два инстанса это не поможет.

Саша235
Advanced member
Сообщения: 101
Зарегистрирован: 20 мар 2007, 12:22
Откуда: СПб

Re: Распределение баз на SQL серверах

Сообщение Саша235 » 23 авг 2013, 18:06

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

Поясните пожалуйста про пересечение. Допустимо оно или нет. У меня в каждом проце 6 ядер. Гипертрейдинг не включаю. Если отдать каждому инстансу по 6 ядер, то я просто распилю сервер надвое и никакой базе кратковременно не дадут больше 6 ядер. А могу ли я отдать по 8 или 10 ядер? Всего в компе 12 и поэтому некоторые будут отданы и тому и другому инстансу. Могу ли я в обычное время не ограничивать скули по ядрам и только в случае долгих эксклюзивных нагрузок разнести на разные? Не появляется ли проблем в случае такого нарезания из-за архитектуры NUMA? Если взводить два инстанса, то я распилю и оперативную память. Половину отдам одному инстансу, половину другому. Если я и процы распилю не произойдет ли такого, что один проц будет работать со своей памятью через другой и в конце концов я получу не выигрыш, а проигрыш?

Аватара пользователя
kim_aa
Advanced member
Сообщения: 118
Зарегистрирован: 24 ноя 2011, 16:30
Откуда: Санкт-Петербург
Контактная информация:

Re: Распределение баз на SQL серверах

Сообщение kim_aa » 29 авг 2013, 15:13

Саша235 писал(а):...Но покупать много серверов и использовать их в основном на 5% вроде глупо. ... Не подскажете как "обычно" решается такой вопрос? Если это важно, то жизнь идет на 2008r2+sql2005. Базы от 0 до 500Гб. Прошу прощения если немного офтопик.
Ваш вопрос обычно решается следующим образом:
1) Покупкой кучи серверов загруженных на 5%. В данном случае все определяет экономическая составляющая и чуть-чуть техническая:
- совокупная стоимость 8 процессорного сервера больше чем четырех 2х процессорных.
- настройка и эксплуатация 8-процессорника гораздо сложнее 2х процессорника.
- на x86 платформе, если не вспоминать какой-либо эксклюзив, мощность сервера ограничена 8 сокетами.
- x86 платформа ударилась в многоядерность, а частоты уже давно практически не растут.

2) Переселением критических (по скорости доступа) баз на твердотельники

3) Выделением отдельных серверов создания отчетности.
Нужно понимать, что транзакционная и OLAP загрузки имеют разную природу, и требовать от сервера (и СУБД) одновременного оптимума в двух разных случаях - глупо.

Ответить

Вернуться в «Конфигурации сервера для 1С»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей