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

Откуда:
Сообщений: 30
Есть сохраненная процедура, которая периодически обновляет одну базу данными из другой базы, при этом используются select-ы, в которых соединяются таблицы из разных баз.
Когда обе базы лежали на одном сервере, расчет выполнялся 2-4 минуты.
После переноса второй базы на линкованный сервер этот расчет выполняется более двух часов.

Нормально ли такое падение производительности (в 60 раз), или мы что-то криво сделали, и падение производительности должно было быть в 2-3 раза?

Если у кого-то есть данные по производительности распределенных(межсерверных) запросов относительно тех же запросов внутри одного сервера - прошу поделиться.
28 апр 05, 15:37    [1505524]     Ответить | Цитировать Сообщить модератору
 Re: производительность распределенных вычислений  [new]
А.Панков
Member

Откуда: Toronto
Сообщений: 523
Скорее всего криво. Не должно быть такого падения. Мои юзвери один раз сделали что-то вроде этого, оказалось, процедура запускала процедуру с линкованного сервера, которая в свою очередь запускала процедуру с этого сервера, которая.... и т.д. Вкупе с неаккуратными индексами получалось сильное замедление. Проверьте местонахождение вложенных запросов.
28 апр 05, 21:33    [1506861]     Ответить | Цитировать Сообщить модератору
 Re: производительность распределенных вычислений  [new]
Glory
Member

Откуда:
Сообщений: 104760
Нормально ли такое падение производительности (в 60 раз), или мы что-то криво сделали, и падение производительности должно было быть в 2-3 раза?
Смотрите план выполнения. Наверняка таблица с другого сервера качается целиком на локальный.
29 апр 05, 00:46    [1507046]     Ответить | Цитировать Сообщить модератору
 Re: производительность распределенных вычислений  [new]
DDirks
Member

Откуда:
Сообщений: 30
Смотрели планы выполнения. Действительно таблица с линкованного сервера тащится на локальный и здесь фильтруется.
Думаем как с этим бороться.
Есть вариант запускать процедуру на втором сервере, тогда с первого будут подтягиваться маленькие таблицы.
Но в этом случае должна выполняться запись (insert) в удаленную базу, а не только чтение.
Не будет ли здесь каких проблем?
29 апр 05, 07:46    [1507184]     Ответить | Цитировать Сообщить модератору
 Re: производительность распределенных вычислений  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
DDirks
Смотрели планы выполнения. Действительно таблица с линкованного сервера тащится на локальный и здесь фильтруется.
Думаем как с этим бороться.
Есть вариант запускать процедуру на втором сервере, тогда с первого будут подтягиваться маленькие таблицы.
Но в этом случае должна выполняться запись (insert) в удаленную базу, а не только чтение.
Не будет ли здесь каких проблем?
Чтоб не было проблем надо включить распределенную транзакцию.
29 апр 05, 07:52    [1507186]     Ответить | Цитировать Сообщить модератору
 Re: производительность распределенных вычислений  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Причина: "при этом используются select-ы, в которых соединяются таблицы из разных баз."

Хранимками с разных баз надергать данные. Соединить их локально, бо они все будут, скажем, в tempdb. Никаких проблем не будет с разносом по серверам. Чем сложнее будет это сделать вам руками сейчас, тем объяснимее будет ваша ситуация.
29 апр 05, 13:21    [1508350]     Ответить | Цитировать Сообщить модератору
 Re: производительность распределенных вычислений  [new]
DDirks
Member

Откуда:
Сообщений: 30
Спасибо всем.
В общем, вывод я делаю такой, что распределенные вычисления требуют специального программирования.
Что интересно, у этой публикации нормально работает подписка в другую базу, там процедуры репликации попроще - селект из удаленной базы и вставка в локальную.
А у второй подписки в селекте участвуют таблицы с разных серверов. И здесь начинаются проблемы.
DTC у нас, естественно, включен.
Будем перерабатывать эту репликацию. А пока делаем локальную копию удаленной базы.
29 апр 05, 15:19    [1508840]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить