Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
У нас есть в зеркале 2 базы - MS SQL 2012. Одна активная, вторая нет.
Если сервер с активной базой отваливается, то все хорошо переключается на вторую базу.
А можно ли как-то настроить зеркало, чтобы при наличии большой нагрузки на активную базу запросы перекидывало на вторую базу в зеркале?
По этой причине у нас иногда в "пиковое" время сайт висит и выдает кучи SQL Timeout Exceptions...
Сайт на ASP.Net.
26 мар 14, 10:53    [15787698]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8584
А смысл? Если второй сервер мощнее, то используйте его как основной.
26 мар 14, 11:26    [15787922]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Serviceman
По этой причине у нас иногда в "пиковое" время сайт висит и выдает кучи SQL Timeout Exceptions...

Да нет, не по этой причине у вас сайт висит - 99% даю, что висит, как раз, из-за неоптимальности запросов.
Но запросы то оптимизировать надо... А так - раз, щёлкнул волшебную кнобку и всё опять стало летать - чего ж проще-то?..
26 мар 14, 11:33    [15787987]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
Оба сервера мощные. Пытаемся сделать систему отказоустойчивой.
Хочется чтобы при любых проблемах отказа не было.
У нас есть две проблемы:
1. Есть некоторые сервисы для статистики, которые работаю в определенное время и сильно нагружают базу. В это время сайт тормозит. Мы бы рады работать со второй базой, но SQL не дает это делать. Вот потому и возникает вопрос, можно ли как-то во время сильной нагрузки на БД переключиться автоматически на вторую базу?
2. На сервере находятся еще некоторые вещи, которые перенести пока некуда. Они так же иногда (раз в неделю) могут нагружать весь сервер. Из-за этого SQL тяжело и не хватает ресурсов. Сайт в этот момент испытывает большое количество таймаутов. Хотелось бы в такие моменты переключить активную БД на другой экземпляр зеркала. Реально ли это сделать автоматически?
26 мар 14, 11:35    [15788003]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8584
А-а-а! Always On позволяет на втором экземпляре использовать базы в режиме "только чтение". Можете там строить свою статистику, отчетность.

При зеркалировании второй комплект баз вы не можете использовать.
26 мар 14, 11:38    [15788050]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
Владислав Колосов
А-а-а! Always On позволяет на втором экземпляре использовать базы в режиме "только чтение". Можете там строить свою статистику, отчетность.

При зеркалировании второй комплект баз вы не можете использовать.

Не очень понял ваш ответ. Тут два варианта, которые друг другу противоречат :)
Под словом "использовать" вы имели в виду, что читать можно, но нельзя писать?
26 мар 14, 11:43    [15788079]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
Always On вроде только для кластера.... Нет?
26 мар 14, 11:49    [15788138]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
У нас нет кластера...
26 мар 14, 12:27    [15788484]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8584
Попробуйте моментальный снимок на зеркале для построения отчетов, в таком случае.
26 мар 14, 14:26    [15789308]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
Насчет отчетов понял. Попробуем.

А как насчет второй проблемы?
На сервере находятся еще некоторые вещи, которые перенести пока некуда. Они так же иногда (раз в неделю) могут нагружать весь сервер. Из-за этого SQL тяжело и не хватает ресурсов. Сайт в этот момент испытывает большое количество таймаутов. Хотелось бы в такие моменты переключить активную БД на другой экземпляр зеркала. Реально ли это сделать автоматически?
26 мар 14, 16:09    [15790136]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8584
В смысле, под "вещами" имеются в виду сторонние приложения, которые не используют SQL?
Категорически необходимо их перенести на отдельный сервер приложений. Если у вас накроется зеркало, в момент когда вы переключитесь на него по расписанию, то это будет фатально...
26 мар 14, 16:25    [15790251]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Serviceman
Always On вроде только для кластера.... Нет?
Нет. Можно использовать AlwaysOn без кластера.
26 мар 14, 23:25    [15792146]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
Владислав Колосов
Попробуйте моментальный снимок на зеркале для построения отчетов, в таком случае.


при таком сценарии, незабудте про лицензирование 2-ого сервера.
26 мар 14, 23:29    [15792158]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
Minamoto
Serviceman
Always On вроде только для кластера.... Нет?
Нет. Можно использовать AlwaysOn без кластера.


А не подскажете как это сделать?
Что для этого нужно?
27 мар 14, 10:31    [15793125]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Serviceman
Minamoto
пропущено...
Нет. Можно использовать AlwaysOn без кластера.


А не подскажете как это сделать?
Что для этого нужно?
Для начала, почитать про AlwaysOn - где включается, как настраивается. Думаю, на MSDN вся необходимая информация есть.
27 мар 14, 11:24    [15793471]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
Minamoto,

Есть как это сделать в кластере
27 мар 14, 11:36    [15793543]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Serviceman
Есть как это сделать в кластере

Вы кластером называете Windows Server Failover Clustering или SQL Server failover cluster ?
27 мар 14, 11:43    [15793593]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Serviceman
Minamoto,

Есть как это сделать в кластере

Моя ошибка. Кластер необходим.
27 мар 14, 11:45    [15793621]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
Эх, очень все печально...
Кажется решений пока нет :(
Либо создавать кластер.
27 мар 14, 17:29    [15796338]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Serviceman, я не специалист в репликации и отказоустойчивости, знаю о них исключительно теоретически, но, может быть, имеет смысл рассмотреть такой тип репликации вместо зеркалирования: http://technet.microsoft.com/en-us/library/ms151176.aspx ?
27 мар 14, 18:14    [15796646]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Serviceman
Эх, очень все печально...
Кажется решений пока нет :(
Это решений "в лоб" нет.
А про другие решения я, в частности, уже писал.
Выбирайте сами, что вам будет дешевле: либо оптимизировать код, либо докупать железо, лицензии и строить кластер.
28 мар 14, 06:19    [15798524]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Serviceman
Member

Откуда:
Сообщений: 10
Minamoto
Serviceman, я не специалист в репликации и отказоустойчивости, знаю о них исключительно теоретически, но, может быть, имеет смысл рассмотреть такой тип репликации вместо зеркалирования: http://technet.microsoft.com/en-us/library/ms151176.aspx ?


Оказывается с зеркалом такое не работает :(

Решили попробовать сделать копирование определенных таблиц в определенные промежутки времени в другую базу...
28 мар 14, 10:50    [15799252]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
Serviceman,

AlwaysON ставится и без Shared Cluster Storage.
для балансировки можно перебрасывать читающие запросы на Read only реплику.

http://technet.microsoft.com/en-us/library/ff878253.aspx
28 мар 14, 11:28    [15799543]     Ответить | Цитировать Сообщить модератору
 Re: 2 базы в зеркале. Можно ли при большой нагрузке переключиться на другую автоматически?  [new]
Crimean
Member

Откуда:
Сообщений: 13147
только вот беда - при фейловере у вас одна нода на все / про все останется и она тупо ляжет под нагрузкой
потому как в обычное время читающую нагрузку будут тянуть 2 ноды

ну или делайте "монстрика" - поднимайте NLB для своего сайта, для каждого (!) узла фермы делайте свою (скажем, реплика) копию базы, откуда нода будет читать. при этом писать все ноды будут в "один общий кластер". ага? пишем в зеркало, читаем свою копию - да - надо допиливать сайт, но оно того, зачастую, очень даже стоит
получите условную балансировку нагрузки "из коробки", но администратор головой поболеет, да и с лицензиями / оборудованием будет кусюче, но, в принципе, это решение
а если объемы позволят - реплицировать можно не все (фильтры) и - тогда - в Express инстансы (халява). но это уже почти фантастика, хотя..
31 мар 14, 21:21    [15813560]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить