Непредсказуемый update (MS SQL 2000)

User avatar
Nosferatu
Уже с Приветом
Posts: 936
Joined: 04 Jul 2000 09:01
Location: KZN, RU - ATL, GA

Post by Nosferatu »

Dmitry67 wrote:Не томите
Проверить без парралелизма это одна минута


Вчера, на неработавшей машине, UPDATE неодиданно заработал. Занял около 15 секунд. Попробовали отключить параллелизм - 3 секуды. Повторили несколько раз и то и другое. Параллелизм - 15 секунд, разбитый Update - 7 сек, без параллелизма - 3 сек. Вот такие дела...
All bubble-blowing babies will be beaten senseless...
User avatar
Nosferatu
Уже с Приветом
Posts: 936
Joined: 04 Jul 2000 09:01
Location: KZN, RU - ATL, GA

Post by Nosferatu »

alex_127 wrote:
Nosferatu wrote:Да... Но 100% на всех CPU без особой дисковой активности?


нехорошо это как-то... а можно схему табличек, план и так далее? Можно PM - попробуем разобраться... На тестовом сервере у вас это тоже случается?


Нет, на тестовом сервере такого не было, как и на других серверах. Но подобные этому случаи были пару раз на разных серверах.

Схемку нарисую скоро. А вот что такое PM, извините, не знаю...
All bubble-blowing babies will be beaten senseless...
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

Nosferatu wrote:Вчера, на неработавшей машине, UPDATE неодиданно заработал. Занял около 15 секунд. Попробовали отключить параллелизм - 3 секуды. Повторили несколько раз и то и другое. Параллелизм - 15 секунд, разбитый Update - 7 сек, без параллелизма - 3 сек. Вот такие дела...


Надо было на бутылку спорить :)
Тут недавно был у нас консультант из M$
Так вот он понизив голос сказал что знаете, там много ошибок при паралелизме... если какие проблемы будут отключите... я ему сказал что я уже отключил... он скащал, ну и слава Богу :)
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
Nosferatu
Уже с Приветом
Posts: 936
Joined: 04 Jul 2000 09:01
Location: KZN, RU - ATL, GA

Post by Nosferatu »

Dmitry67 wrote:
Nosferatu wrote:Вчера, на неработавшей машине, UPDATE неодиданно заработал. Занял около 15 секунд. Попробовали отключить параллелизм - 3 секуды. Повторили несколько раз и то и другое. Параллелизм - 15 секунд, разбитый Update - 7 сек, без параллелизма - 3 сек. Вот такие дела...


Надо было на бутылку спорить :)
Тут недавно был у нас консультант из M$
Так вот он понизив голос сказал что знаете, там много ошибок при паралелизме... если какие проблемы будут отключите... я ему сказал что я уже отключил... он скащал, ну и слава Богу :)


Да как-то страшно выключать... Довольно большие объемы данных загружаются, да и читаются тоже. Неужели он настолько плох, что только мешает, а не помогает совсем? :)
Тогда ведь получится, что мы не до конца будем использовать возможности всех процессоров... Поживем - увидим. Опыт, однако, полезный получился.
И кстати, всем большое спасибо!
All bubble-blowing babies will be beaten senseless...
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

Это зависит от workload
При OLTP, много маленьких запросов, особенно WEB, лучше отключать
При OLAP, при построении сложных запросов лучше бывает с паралелизмом
Но не всегда

Пусть у Вас есть RAID, который поделен на буковки D: и E:
У вас данные разбиры между байлами лежащими на D и E
Ура ! думает SQL server. Два устройства, с ними может работать одновременно и строит план с парралелизмом с одновременным чтением из разных мест
Но так как физически это одно устройство с одним каналом то получает только хуже, вместо одного длинного table scan получится например смесь двух с хаотическим дерганием головки дисков
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
YellowMan
Уже с Приветом
Posts: 1099
Joined: 30 Sep 1999 09:01
Location: Bryansk,RUSSIA >> Dublin, Ireland

Post by YellowMan »

Dmitry67 wrote:Надо было на бутылку спорить :)
Тут недавно был у нас консультант из M$
Так вот он понизив голос сказал что знаете, там много ошибок при паралелизме... если какие проблемы будут отключите... я ему сказал что я уже отключил... он скащал, ну и слава Богу :)


Надо было :) Мне из французских коньяков ближе всего Камю, ибо как было сказано:
Nosferatu wrote:Вчера, на неработавшей машине, UPDATE неодиданно заработал.


АКА блокирующий ресурс транзакция отвалилась :)
А консультантов Вы слушайте - они вам всякого наговорят, по секрету и строго конфидинциально ...
Удачи@С.Смирнов
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

Заработала потому что ошибка с паралелизмом плавающая, возникает при некотором неудачном стечении обстоятельств, race conditions итд.
А чтобы транзакция чтото блокировала часами и днями... надо очень стараться чтобы это не увидеть... потом опять таки никак не объясняет CPU 100%

P.S.
Я предпочитаю белые вина, особо дорогое, так уж и быть, не покупайте
:)
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
YellowMan
Уже с Приветом
Posts: 1099
Joined: 30 Sep 1999 09:01
Location: Bryansk,RUSSIA >> Dublin, Ireland

Post by YellowMan »

Заработало потому что на выходных обновилась статистика, или по базе прошелся какой-нибудь maintenance job и вправил индексам мозги, слетела блокирующая транзакзия (клерк пришел в понедельник на работу и закрыл окошко на клиенте, транзакция и отвалилась) или еще из-за 123 различных причин.
Индекс скан и деадлок - вот вам и 100% процессора(ов).
Заметить конечно действительно несложно - но непонятно было ли вообще телодвижение в эту сторону.
Так что Дмитрий, взялись за гуж, не говорите что ингуш - высылайте коньяковского. Мне Камю в форме книжки - чтобы на таком двухсмысленном предмете объяснять знакомым философам как бытие определяет сознание :)
Могу даже подсказать лично проверенное и одобренное место в Париже где затовариваться :)
Удачи@С.Смирнов
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

Table scan вызывает IO, а CPU как раз бадает
Зачем процессору думать если он читает ?
deadlock детектируется в течение секунды
ПРосто блокировка вызывает падение CPU
Так что винишко то с Вас... За базар, как говорится :)
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
YellowMan
Уже с Приветом
Posts: 1099
Joined: 30 Sep 1999 09:01
Location: Bryansk,RUSSIA >> Dublin, Ireland

Post by YellowMan »

Неа, не с меня - совсем наоборот :)
Пока что никаких убедительных доказательств что виновата паралельность а не к примеру, лок или старая статистика не прозвучало. Мы же не принимаем всерьез замечание некого непонятного консультанта, владеющего ИСТИНОЙ (!) и вскользь выдавшего Вам страшный секрет о жутких багах в коде сервера, правда ? :)
Так что с винишком мы пока повременим - а хороший коньяк может и закончиться...возле собора Парижской Богоматери, прямо через улицу от метро был отличный магазин с коньяком - хозяина толи Жан толи Жак звали :)
Удачи@С.Смирнов
User avatar
Dmitry67
Уже с Приветом
Posts: 28294
Joined: 29 Aug 2000 09:01
Location: SPB --> Gloucester, MA, US --> SPB --> Paris

Post by Dmitry67 »

Ну что же, есть предложение о мировой
Изучит базу а потом выпить
Или лучше не ПОТОМ а ВМЕСТО
Будете у нас на колыме, милости просим !
Кстати первое собрание приветовцев в Париже уже было
Зарегистрированный нацпредатель, удостоверение N 19719876044787 от 22.09.2014
User avatar
YellowMan
Уже с Приветом
Posts: 1099
Joined: 30 Sep 1999 09:01
Location: Bryansk,RUSSIA >> Dublin, Ireland

Post by YellowMan »

Вот это правильный и системный подход !

1.Выпить, закусить,изучить
2. Повторить шаг 1

На 10 итерации проблема исчезнет сама по себе :)

Спасибо за приглашение, ловлю на слове :)
Удачи@С.Смирнов

Return to “Вопросы и новости IT”