SQLServer. Глюки.
От: TSVSerg Россия  
Дата: 03.07.03 18:45
Оценка:
Конфигурация:
MS Server 2003. Sql Server 2000.

Народ. Такой трабл. SQLServer. Таблица из 8 полей. Все настроено по умолчанию. В таблиуе 500000 записей. Делаем команду INSERT.... Все как положено. Через две минуты покаманда выполняется задержка какая то... но потом еще раз запускаем — все ыполняется мгоновенно. Т.е. иногда при работе SQLServer выдает ошибку работы по timeout — т.е. не уложился во время, отведенное для выполнения команды.Как думаете че такое с ним может быть. В реальности все работает в комплексе и это вешает все.Подскажите что с ним сделать попробовать.
Re: SQLServer. Глюки.
От: magos Россия  
Дата: 03.07.03 18:56
Оценка: -1
Здравствуйте, TSVSerg, Вы писали:

TSV>Конфигурация:

TSV>MS Server 2003. Sql Server 2000.

TSV>Народ. Такой трабл. SQLServer. Таблица из 8 полей. Все настроено по умолчанию. В таблиуе 500000 записей. Делаем команду INSERT.... Все как положено. Через две минуты покаманда выполняется задержка какая то... но потом еще раз запускаем — все ыполняется мгоновенно. Т.е. иногда при работе SQLServer выдает ошибку работы по timeout — т.е. не уложился во время, отведенное для выполнения команды.Как думаете че такое с ним может быть. В реальности все работает в комплексе и это вешает все.Подскажите что с ним сделать попробовать.



Логи переполняются, вот он и тормозит. Почисть их.
- И сказал я, что хорошо. А теперь хорошо платите.
Он закашлялся, потому что в воздухе было многовато углекислого газа, но, сами понимаете, ни один вновь построенный объект не сдается без отдельных недоделок.
Р. Желязны. Свет Угрюмого.
Re[2]: SQLServer. Глюки.
От: TSVSerg Россия  
Дата: 03.07.03 19:00
Оценка:
Здравствуйте, magos, Вы писали:

M>Здравствуйте, TSVSerg, Вы писали:


TSV>>Конфигурация:

TSV>>MS Server 2003. Sql Server 2000.

TSV>>Народ. Такой трабл. SQLServer. Таблица из 8 полей. Все настроено по умолчанию. В таблиуе 500000 записей. Делаем команду INSERT.... Все как положено. Через две минуты покаманда выполняется задержка какая то... но потом еще раз запускаем — все ыполняется мгоновенно. Т.е. иногда при работе SQLServer выдает ошибку работы по timeout — т.е. не уложился во время, отведенное для выполнения команды.Как думаете че такое с ним может быть. В реальности все работает в комплексе и это вешает все.Подскажите что с ним сделать попробовать.



M>Логи переполняются, вот он и тормозит. Почисть их.


Так не понял ... а как это работает без вмешательсва программиста.. SQL Server сам не делаем перезаписи или очистки. Ведь мы просто ограничиваем log a там как я понимаю это его задача, или нет?
Re: SQLServer. Глюки.
От: Merle Австрия http://rsdn.ru
Дата: 03.07.03 19:49
Оценка:
Здравствуйте, TSVSerg, Вы писали:

TSV>Как думаете че такое с ним может быть. В реальности все работает в комплексе и это вешает все.Подскажите что с ним сделать попробовать.

Причин может быть достаточно много...
Например неудачный кластерный индекс при большом количестве вставок или наоборот отсутствие индексов... В этом случае между транзакциями может случиться драка за последнюю страницу.
Нужна более полная картина.
... [RSDN@Home 1.1 beta 1]
Мы уже победили, просто это еще не так заметно...
Re[2]: SQLServer. Глюки.
От: TSVSerg Россия  
Дата: 04.07.03 04:50
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, TSVSerg, Вы писали:


TSV>>Как думаете че такое с ним может быть. В реальности все работает в комплексе и это вешает все.Подскажите что с ним сделать попробовать.

M>Причин может быть достаточно много...
M>Например неудачный кластерный индекс при большом количестве вставок или наоборот отсутствие индексов... В этом случае между транзакциями может случиться драка за последнюю страницу.
M>Нужна более полная картина.


А как посмотреть в чем затыкается MSSQL. Не могу понять че от творит там. Диск работает на полную катушку, система подвисает из-за высокой загрузки проуа.Сделсть то особо ничего уже на компе не получается. А так я из прогри под NET делаю стандартную команду INSERT в MSSQL, а другая софтина читает данные из сервера. Вроде ничего криминального и сложного тут нет (
Re[3]: SQLServer. Глюки.
От: Merle Австрия http://rsdn.ru
Дата: 04.07.03 07:36
Оценка: 1 (1)
Здравствуйте, TSVSerg, Вы писали:

TSV>А как посмотреть в чем затыкается MSSQL. Не могу понять че от творит там. Диск работает на полную катушку, система подвисает из-за высокой загрузки проуа.

Profiler и sp_lock тебе в руки... Смотришь, какие запросы висят на блокировках, и что вообще происходит...

TSV>А так я из прогри под NET делаю стандартную команду INSERT в MSSQL, а другая софтина читает данные из сервера. Вроде ничего криминального и сложного тут нет (

Тогда скорее всего основная причина — большое количество блокировок, из-за неоптимально написаных запросов для софтины которая читает данные.
Возможно слишком большие транзакции или неправильно подобранные индексы...
Берешь профайлер и смотришь, кто что читает, планы запросов, какие транзакции отрабатывают и сколько времени это занимает, находишь самое узкое место и начинаешь его тюнить: Уменьшаешь количество операций в транзакции, подбираешь правильные индексы, если необходимо — гранулярность блокировки и т. д...
Далее находишь следующее узкое место и операцию повторяешь до достижения необходимой скорости выполнения запросов.

В самом простом варианте достаточно будет добавить один-два индекса и все полетит...
Мы уже победили, просто это еще не так заметно...
Re[4]: SQLServer. Глюки.
От: Alexey Shirshov Россия http://wise-orm.com
Дата: 04.07.03 08:39
Оценка: 1 (1) +1
Здравствуйте, Merle, Вы писали:

[]

M>В самом простом варианте достаточно будет добавить один-два индекса и все полетит...


Тюнинг первого порядка заключается в запуске Create Index Wizard, которому подсовываешь уже полученый от профайлера файл.

Если продолжают наблюдаться тормоза, необходим более детальный анализ DML, структуры таблиц и индексов.
Re[5]: SQLServer. Глюки.
От: TSVSerg Россия  
Дата: 04.07.03 09:04
Оценка:
Здравствуйте, Alexey Shirshov, Вы писали:

AS>Здравствуйте, Merle, Вы писали:


AS>[]


M>>В самом простом варианте достаточно будет добавить один-два индекса и все полетит...


AS>Тюнинг первого порядка заключается в запуске Create Index Wizard, которому подсовываешь уже полученый от профайлера файл.


AS>Если продолжают наблюдаться тормоза, необходим более детальный анализ DML, структуры таблиц и индексов.


Запустил все дело немного в другой конфигурации — посмотрим что получиться.
Re[3]: SQLServer. Глюки.
От: magos Россия  
Дата: 04.07.03 09:39
Оценка:
TSV>Так не понял ... а как это работает без вмешательсва программиста.. SQL Server сам не делаем перезаписи или очистки. Ведь мы просто ограничиваем log a там как я понимаю это его задача, или нет?


Была вообщем такая же проблема, связанная с возникновением timeout'а
на серваке. Думали что проблема в коде, но оказалось, что база разраслась до 10гигов, и SQL сервер начинал интенсивно писать в логи
(особенно если много данных туда постились) Совет: увеличь размеры
логов и по необходимости чисть их.
- И сказал я, что хорошо. А теперь хорошо платите.
Он закашлялся, потому что в воздухе было многовато углекислого газа, но, сами понимаете, ни один вновь построенный объект не сдается без отдельных недоделок.
Р. Желязны. Свет Угрюмого.
Re[4]: SQLServer. Глюки.
От: TSVSerg Россия  
Дата: 04.07.03 14:30
Оценка:
Здравствуйте, magos, Вы писали:



TSV>>Так не понял ... а как это работает без вмешательсва программиста.. SQL Server сам не делаем перезаписи или очистки. Ведь мы просто ограничиваем log a там как я понимаю это его задача, или нет?



M>Была вообщем такая же проблема, связанная с возникновением timeout'а

M>на серваке. Думали что проблема в коде, но оказалось, что база разраслась до 10гигов, и SQL сервер начинал интенсивно писать в логи
M>(особенно если много данных туда постились) Совет: увеличь размеры
M>логов и по необходимости чисть их.

Да... дело походу дествительно в log файлах. Но какую процедуру написать, чтобы чистить log файл. Или просто ограничить его размер?
Re[5]: SQLServer. Глюки.
От: Merle Австрия http://rsdn.ru
Дата: 04.07.03 17:58
Оценка:
Здравствуйте, TSVSerg, Вы писали:

TSV>Да... дело походу дествительно в log файлах.

Что-то меня серьезные сомнения по этому поводу терзают... Единственная неприятность которая может случиться по причине лога — нехватка места на диске...

TSV>Но какую процедуру написать, чтобы чистить log файл. Или просто ограничить его размер?

Бакапить во время и проблем не будет...
... [RSDN@Home 1.1 beta 1]
Мы уже победили, просто это еще не так заметно...
Re[5]: SQLServer. Глюки.
От: magos Россия  
Дата: 07.07.03 08:12
Оценка:
Здравствуйте, TSVSerg, Вы писали:

TSV>Здравствуйте, magos, Вы писали:




TSV>>>Так не понял ... а как это работает без вмешательсва программиста.. SQL Server сам не делаем перезаписи или очистки. Ведь мы просто ограничиваем log a там как я понимаю это его задача, или нет?



M>>Была вообщем такая же проблема, связанная с возникновением timeout'а

M>>на серваке. Думали что проблема в коде, но оказалось, что база разраслась до 10гигов, и SQL сервер начинал интенсивно писать в логи
M>>(особенно если много данных туда постились) Совет: увеличь размеры
M>>логов и по необходимости чисть их.

TSV>Да... дело походу дествительно в log файлах. Но какую процедуру написать, чтобы чистить log файл. Или просто ограничить его размер?


Все зависит от того, как часто кидаются данные и какого объема.
В нашем случае уже SQLServer не справлялся с работой и мы сейчас
переносим весь комплекс под платформу Oracle.
- И сказал я, что хорошо. А теперь хорошо платите.
Он закашлялся, потому что в воздухе было многовато углекислого газа, но, сами понимаете, ни один вновь построенный объект не сдается без отдельных недоделок.
Р. Желязны. Свет Угрюмого.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.