Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
Добрый день.

Скажу сразу, я не MSSQL специалист и не системный администратор. Имею долгий опытв IT, но не исследовал SQL сервер и сеть, но в силу разных причин поставлен в безвыходное положение разбираться в проблеме, которая описана ниже, в одиночку.

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


Ситуация:
#1. Сервер Intel + Windows Server 2008 (32bit) + MSSQL Studio 2005
#2. Удаленный MSSQL server 2000
Подключение к #1 по RDP
Подключение с #1 к #2 по VPN
Скорость от 1 к 2 - 500кб в сек
Пинг от 1 к 2 - 3мс

Проблема: Выполнение хранимых процедур 5сек. Бывает 10сек. НЕ бывает 3 или 7 .. устойчивый инкремент 5 сек.



В тоже время:
#1 тотже Сервер Intel + Windows Server 2008 (32bit) + MSSQL Studio 2005
#3 Удаленный MSSQL server 2000 (такой же набор процедур, что и у #2)
Подключение к #1 по RDP
Подключение к #3 с #1 по каналу интеренет (без VPN)
Скорость от 1 к 3 - 500кб в сек
Пинг от 1 к 3- 3мс

НЕТ проблем: теже процедуры выполняются менее секунды



В тоже время:
#4 ноутбук Windows XP (32bit) + MSSQL Studio 2005
#3 Удаленный MSSQL server 2000
Подключение к #3 с #4 по тому же VPN
Канал от 1 к 3 - 500кб в сек
Пинг от 1 к 3- 3мс

НЕТ проблем с выполнением процедур.



Серверы MSSQL #2 и #3 идентичны с одинаковой версией ПО и набором процедур. Эти серверы предоставляются конторой и она з аними следит. Они все одинаковые.

Процедуры на стороне SQL сервера, которые тестировались обращаются к Linked server'у, который прописан на MSSQL серверах, к которым я коннекчусь.

Профайлер я сделать не могу,система боевая. Поддержка тоже это делат ьне хочет (т.к. я наверное один такой)



Я пробовал все, чтобы заставить работать быстро вызов процедур при коннекте к #2 на компе с Windows Server 2008.
И менял драйвера на картах, и переустанавливал оперционку, и приглашал сисадминов, и звонил в поддержку тем кто предоставляеь VPN. Проверяли все, и со слов проблем нет.

Windows server 2008 стоит на тачке в датацентре, канал 10мбит туда обратно.
Все тесты проводились на одном и томже канале.

Я планирую забрать железо из датацентра и пробовать на разных сетях, операционка (2003 сервер напрмер) и т.д. .. Других у меня способов решить удаленн оне осталось.


Полное фиаско.

Буду рад мыслям.

Спасибо.
27 авг 09, 12:42    [7586005]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
А план запросов вы тоже посмотреть не можете?
27 авг 09, 12:44    [7586019]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
Glory
Member

Откуда:
Сообщений: 104760
- Нужны полные версии серверов, а не просто MSSQL server 2000. Тоже касается и MSSQL Studio
- VPN - это принцип организации сети, а не протокол, по которому идет соедиение между MSSQL Studio и MSSQL server, а также между MSSQL server-ми
- "такой же набор процедур" не означает равенства в схеме данных и их количестве в разных базах
-
27 авг 09, 12:53    [7586086]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
Гавриленко Сергей Алексеевич
А план запросов вы тоже посмотреть не можете?



>>>План выполнения боевой базы. Тот с которой работает медленно по VPN:

StmtText
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

DECLARE @return_value int
EXEC @return_value = [dbo].[ProcedureName]
@pKodInv = N'Kod'

CREATE PROCEDURE [dbo].[ProcedureName]
@pKodInv varchar(3) = null,
@Separate int = null,
@pRegime int = null


DECLARE @RetCode int
set @RetCode = (-2)

---------------------------------------------------------------------------------
-- Отладочная запись
DECLARE @Begin datetime,
@Mls int,
@Text varchar (255)
SELECT @Begin = GetDate()
---------------------------------------------------------------------------------

EXEC @RetCode = DataBase.MOSCOW..GwProcedureName @pKodInv, @Separate, @pRegime

---------------------------------------------------------------------------------
-- Отладочная запись
if EXISTS ( select 1
from GateLogTime (nolock)
where @Begin between d_n and d_k)

(строк обработано: 6)

StmtText
-----------------------------------------------------------------------------------------------------------------------------------------------------
|--Compute Scalar(DEFINE:([Expr1003]=If [Expr1004] then 1 else 0))
|--Nested Loops(Left Semi Join, DEFINE:([Expr1004] = [PROBE VALUE]))
|--Constant Scan
|--Table Scan(OBJECT:([REAL].[dbo].[GateLogTime]), WHERE:([@Begin]>=[GateLogTime].[d_n] AND [@Begin]<=[GateLogTime].[d_k]))

(строк обработано: 4)

StmtText
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
begin
SET @Mls = isnull(DATEDIFF(ms,@Begin,GetDate()),0)
SET @Text = 'pKodInv=' + rtrim(isnull(@pKodInv,'Null')) +
', Separate=' + rtrim(convert(varchar(20),isnull(@Separate,-2))) +
', pRegime=' + rtrim(convert(varchar(20),isnull(@pRegime,-2)))
INSERT INTO GateLog ( proc1, mls, ret_code, in_out, [text] )
VALUES ( 'ProcedureName', @Mls, @RetCode, 0, @Text )

(строк обработано: 3)

StmtText
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|--Clustered Index Insert(OBJECT:([REAL].[dbo].[GateLog].[PK_GateLog]), SET:([GateLog].[spid]=[Expr1005], [GateLog].[id]=RaiseIfNull([Expr1004]), [GateLog].[in_out]=0, [GateLog].[ret_code]=[@RetCode], [GateLog].[mls]=[@Mls], [GateLog].[

(строк обработано: 1)

StmtText
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end
---------------------------------------------------------------------------------







>>>План выполнения с тестовой базы. Тот с которой работает быстро без VPN:

StmtText
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

DECLARE @return_value int
EXEC @return_value = [dbo].[ProcedureName]
@pKodInv = N'ABQ'

CREATE PROCEDURE ProcedureName
@pKodInv varchar(3) = null,
@Separate int = null,
@pRegime int = null


DECLARE @RetCode int
set @RetCode = (-2)

---------------------------------------------------------------------------------
-- Отладочная запись
DECLARE @Begin datetime,
@Mls int,
@Text varchar (255)
SELECT @Begin = GetDate()
---------------------------------------------------------------------------------

EXEC @RetCode = /*DataBase.*/MOSCOW..GwProcedureName @pKodInv, @Separate, @pRegime

---------------------------------------------------------------------------------
-- Отладочная запись
if EXISTS ( select 1
from GateLogTime (nolock)
where @Begin between d_n and d_k)

(строк обработано: 4)

StmtText
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|--Compute Scalar(DEFINE:([Expr1003]=If [Expr1004] then 1 else 0))
|--Nested Loops(Left Semi Join, DEFINE:([Expr1004] = [PROBE VALUE]))
|--Constant Scan
|--Clustered Index Scan(OBJECT:([TEST].[dbo].[GateLogTime].[PK_GateLogTime]), WHERE:([@Begin]>=[GateLogTime].[d_n] AND [@Begin]<=[GateLogTime].[d_k]))

(строк обработано: 4)

StmtText
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
begin
SET @Mls = isnull(DATEDIFF(ms,@Begin,GetDate()),0)
SET @Text = 'pKodInv=' + rtrim(isnull(@pKodInv,'Null')) +
', Separate=' + rtrim(convert(varchar(20),isnull(@Separate,-2))) +
', pRegime=' + rtrim(convert(varchar(20),isnull(@pRegime,-2)))
INSERT INTO GateLog ( proc1, mls, ret_code, in_out, [text] )
VALUES ( 'ProcedureName', @Mls, @RetCode, 0, @Text )

(строк обработано: 3)

StmtText
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|--Clustered Index Insert(OBJECT:([TEST].[dbo].[GateLog].[PK_GateLog]), SET:([GateLog].[spid]=[Expr1005], [GateLog].[id]=RaiseIfNull([Expr1004]), [GateLog].[in_out]=0, [GateLog].[ret_code]=[@RetCode], [GateLog].[mls]=[@Mls], [GateLog].[

(строк обработано: 1)

StmtText
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
end
---------------------------------------------------------------------------------
27 авг 09, 13:13    [7586252]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
Glory
- Нужны полные версии серверов, а не просто MSSQL server 2000. Тоже касается и MSSQL Studio
- VPN - это принцип организации сети, а не протокол, по которому идет соедиение между MSSQL Studio и MSSQL server, а также между MSSQL server-ми
- "такой же набор процедур" не означает равенства в схеме данных и их количестве в разных базах
-


1. Версии серверов.
Боевая(работает медленно под VPN): 8.0.2171
Тестовая(работает быстро не под VPN): 8.0.2171

2. "равенство процедур" - код процедуры, кол-во данных, и схема данных
27 авг 09, 13:15    [7586272]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
У вас на GateLogTime на боевом сервере нет кластерного индекса, что видно из плана. Это первое.
Второе. Напишите у всех объектов владельца. Что бы там всяких рекомпиляций не было.

И третье. Что тормозит, выборка или вставка?

Сообщение было отредактировано: 27 авг 09, 13:22
27 авг 09, 13:19    [7586303]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
И четвертое. Раз у вас данные идентичны, то почему разное кол-во обработанных cтрок?
27 авг 09, 13:25    [7586333]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
Гавриленко Сергей Алексеевич
У вас на GateLogTime на боевом сервере нет кластерного индекса, что видно из плана. Это первое.
Второе. Напишите у всех объектов владельца. Что бы там всяких рекомпиляций не было.

И третье. Что тормозит, выборка или вставка?
И четвертое. Раз у вас данные идентичны, то почему разное кол-во обработанных cтрок?


1. да. вижу. передал вопрос в тех.поддержку, кто смотрит за этой базой
2. не очень компетентен. не понял каких именно владельцев.
3. процедура возвращает набор строк. в реальности она возвращает 2 строки. в тестовой 1 строку
я не могу оценить. что тормозит, вставка или выборка, т.к. я оперирую временем выполнения процедуры.
4. вероятно изза п.3. Т.к. процедура в боя возвращает на 1 строку больше.
27 авг 09, 13:36    [7586416]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
erererererу1
Guest
я думаю вот эта штука тормозит


EXEC @RetCode = DataBase.MOSCOW..GwProcedureName @pKodInv, @Separate, @pRegime

можно её план посмотреть?
27 авг 09, 13:38    [7586426]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
aspi
Гавриленко Сергей Алексеевич
У вас на GateLogTime на боевом сервере нет кластерного индекса, что видно из плана. Это первое.
Второе. Напишите у всех объектов владельца. Что бы там всяких рекомпиляций не было.

И третье. Что тормозит, выборка или вставка?
И четвертое. Раз у вас данные идентичны, то почему разное кол-во обработанных cтрок?


1. да. вижу. передал вопрос в тех.поддержку, кто смотрит за этой базой
2. не очень компетентен. не понял каких именно владельцев.
3. процедура возвращает набор строк. в реальности она возвращает 2 строки. в тестовой 1 строку
я не могу оценить. что тормозит, вставка или выборка, т.к. я оперирую временем выполнения процедуры.
4. вероятно изза п.3. Т.к. процедура в боя возвращает на 1 строку больше.

Полное имя объекта состоит из четырех частей: [Имя Сервера].[Имя Базы].[Имя Владельца].[Имя объекта]. Вот тут рядом тема как раз - https://www.sql.ru/forum/actualthread.aspx?tid=690761

Сообщение было отредактировано: 27 авг 09, 13:41
27 авг 09, 13:40    [7586442]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
erererererу1
я думаю вот эта штука тормозит


EXEC @RetCode = DataBase.MOSCOW..GwProcedureName @pKodInv, @Separate, @pRegime

можно её план посмотреть?



К сожалению я не могу посмотреть план выполнения этой процедуры на боевой базе.

Одно важное наблюдение: когда я сейчас допустил ошибку в скрипте и запустил его выполнение на боевом экземпляре, то ошибка ко мне вернулась тоже чере 5 секунд!

Однако тоже самое на тестовом - мгновенно.
27 авг 09, 13:53    [7586496]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
erererererу1
Guest
у вас с каналом связи фигня - sql здесь не причем.
27 авг 09, 14:03    [7586559]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
erererererу1
у вас с каналом связи фигня - sql здесь не причем.


Хорошо, но можно как тогда объяснить, что на этом канале до проблемного MSSQL пинг-3мс и скорость скачивания 9я проверял на файле 300мег) - 500кб в сек.?

Т.е. может ли быть фигня при таких устойчивых показателях?
27 авг 09, 14:08    [7586585]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
erererererer1
Guest
скорость аплоада и даунлоада по каналу одинаковая?
27 авг 09, 19:55    [7588251]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
erererererer1
Guest
это фигня либо с каналами, либо с использованием протоколов по этим каналам и VPN. дело не в сиквеле я думаю. просто посмотрите все-таки сколько занимает времени выполнение процы на боевом сервере - я вам все сразу станет понятно.
27 авг 09, 20:05    [7588269]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
erererererer1
это фигня либо с каналами, либо с использованием протоколов по этим каналам и VPN. дело не в сиквеле я думаю. просто посмотрите все-таки сколько занимает времени выполнение процы на боевом сервере - я вам все сразу станет понятно.



я проверил на уровне пакетов
это не проблема сетки ... пример:

3861 892.111625 213.247.xxx.xxx 84.47.xxx.xxx PPP Comp Compressed data
3874 897.200271 84.47.xxx.xxx 213.247.xxx.xxx PPP Comp Compressed data

5 секунд ответ от mssql
28 авг 09, 16:10    [7591777]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
Glory
Member

Откуда:
Сообщений: 104760
aspi
00271 84.47.xxx.xxx 213.247.xxx.xxx PPP Comp Compressed data

5 секунд ответ от mssql

Что вы вкладываете в это понятие ? Это вы видите из Show Server Trace в QA ? Из Show Client Statistics ?
28 авг 09, 16:21    [7591875]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
Glory
aspi
00271 84.47.xxx.xxx 213.247.xxx.xxx PPP Comp Compressed data

5 секунд ответ от mssql

Что вы вкладываете в это понятие ? Это вы видите из Show Server Trace в QA ? Из Show Client Statistics ?



это лог tcpip пакетов (winshark)
сетка проверена. вх/исх скорость 500кб в сек
28 авг 09, 16:32    [7591961]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
Glory
Member

Откуда:
Сообщений: 104760
aspi
Glory
aspi
00271 84.47.xxx.xxx 213.247.xxx.xxx PPP Comp Compressed data

5 секунд ответ от mssql

Что вы вкладываете в это понятие ? Это вы видите из Show Server Trace в QA ? Из Show Client Statistics ?



это лог tcpip пакетов (winshark)
сетка проверена. вх/исх скорость 500кб в сек

Да причем тут лог tcpip пакетов ?
Он показывает вам сколько врени сервер потратил на выполнение запроса, а сколько на передачу его результатов клиенту ?
28 авг 09, 16:35    [7591975]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
erererererу1
Guest
да посмотрите сколько времени занимает проца на боевой системе - решитесь на это, в этом нет ничего сложного. профайлер или sqltrace не убьет ваш сервер. кстати, что там с фаерволами, какие клиентские и серверные протоколы на сиквеле используются, какие порты, пробовали коннектится к серверу с помощью SSMS - какие результаты.
28 авг 09, 19:43    [7592798]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
erererererу1
Guest
да посмотрите сколько времени занимает проца на боевой системе - решитесь на это, в этом нет ничего сложного. профайлер или sqltrace не убьет ваш сервер. кстати, что там с фаерволами, какие клиентские и серверные протоколы на сиквеле используются, какие порты, пробовали коннектится к серверу с помощью SSMS - какие результаты.
28 авг 09, 19:48    [7592805]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
Если кому то интересно, то действительно это проблема MSSQL

Windows Server 2008 + VPN + MSSQL 2000 + Linked Server - выполнение процедур на linked 5 секунд (проверено и подтверждено, что именно процедура выполняется долго)
Windows Server 2008 + MSSQL 2000 + Linked Server - выполнение процедур OK

Windows Server 2003 + VPN + MSSQL 2000 + Linked Server - выполнение процедур OK
Windows Server 2003 + MSSQL 2000 + Linked Server - выполнение процедур OK



причина так и не установлена.
откат до использования 2003 сервера.
31 авг 09, 11:22    [7596641]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
pr0ger
Member

Откуда: Москва
Сообщений: 1933
Проблема в MSSQL, поэтому вы откатили Windows до 2003 версии. Жаль что не удалось разобраться с причинами тормозов.
31 авг 09, 11:34    [7596742]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
aspi
Member

Откуда:
Сообщений: 77
pr0ger
Проблема в MSSQL, поэтому вы откатили Windows до 2003 версии. Жаль что не удалось разобраться с причинами тормозов.



если один и тотже код и один и одна и таже иснталяция sql не работает на разных версия ПО от производителя, то это проблема совместимости

если вы ездили на жигулях и купили джип и заливали 95 бензин и туда и сюда и джип отказался на нем ездить, то это проблема не водителя, а производителя

сарказм не к месту
31 авг 09, 11:45    [7596822]     Ответить | Цитировать Сообщить модератору
 Re: MSSQL, LinkedServer, VPN жуткие тормоза.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36803
aspi
pr0ger
Проблема в MSSQL, поэтому вы откатили Windows до 2003 версии. Жаль что не удалось разобраться с причинами тормозов.



если один и тотже код и один и одна и таже иснталяция sql не работает на разных версия ПО от производителя, то это проблема совместимости

если вы ездили на жигулях и купили джип и заливали 95 бензин и туда и сюда и джип отказался на нем ездить, то это проблема не водителя, а производителя

сарказм не к месту
Ага. Продолжая аналогию: так и будете всю жизнь на жигулях ездить?
31 авг 09, 12:06    [7597007]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить