Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Долгий INSERT / 13 сообщений из 13, страница 1 из 1
31.05.2019, 20:02
    #39821006
VitShvets
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
Куда хоть посмотреть? Всю голову сломал... База 1Совая, загрузка из внешней системы, 1Совой логикой договоров контрагентов. Логика прямая, как рельс. Тормозит именно Записать(). Поймал профайлером, duration прыгает от 80-90 до 200-300 при вставке 1 записи. В менеджмент студии тот-же запрос, duration от 3 до 5. Запрос вида:
exec sp_executesql N'INSERT INTO dbo._Reference87 (_IDRRef,_Marked,_IsMetadata,_OwnerIDRRef,_Code...
Тригеров нет, констрейнтов нет, таблица типовая 1Совая, создана 1С.
...
Рейтинг: 0 / 0
31.05.2019, 21:39
    #39821022
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
VitShvetsПоймал профайлером, duration прыгает от 80-90 до 200-300 при вставке 1 записи. В менеджмент студии тот-же запрос, duration от 3 до 5.А CPU, Read, Wrtites разные?
Выполняется из одного места или из разных (в смысле, SSMS и клиент 1C)?
Пользователь, под которым коннект к сиквелу, одинаковый?
Протокол подключения одинаковый?
...
Рейтинг: 0 / 0
02.06.2019, 12:33
    #39821285
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
VitShvets,

Если вместе со вставкой выполняется чтение, то вполне возможно. или конкурирующая вставка.
Можете в момент вставки запустить просмотр счетчиком производительности windows и понаблюдать за задержками на уровне файловой системы или самого сервера.
...
Рейтинг: 0 / 0
03.06.2019, 14:04
    #39821673
VitShvets
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
alexeyvgА CPU, Read, Wrtites разные?
Примерно одинаковые. CPU = 15, Reads =35, Writes=6. Ну в среднем, плюс минус.
alexeyvgВыполняется из одного места или из разных (в смысле, SSMS и клиент 1C)?
Из разных. 1С запущена непосредственно на сервере, SSMS на моём рабочем.
alexeyvgПользователь, под которым коннект к сиквелу, одинаковый?
Пробовал и разные и одинаковые. Разные, оба админы.
alexeyvgПротокол подключения одинаковый?
Одинаковый, TCP/IP.
Владислав КолосовЕсли вместе со вставкой выполняется чтение, то вполне возможно. или конкурирующая вставка.
Я грешу на блокировки, надо только погуглить как их проще ловить.
Владислав КолосовМожете в момент вставки запустить просмотр счетчиком производительности windows и понаблюдать за задержками на уровне файловой системы или самого сервера.
Попробую, пока других вариантов нет...
...
Рейтинг: 0 / 0
03.06.2019, 14:54
    #39821723
1C Developer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
VitShvetsПоймал профайлером, duration прыгает от 80-90 до 200-300 при вставке 1 записи. В менеджмент студии тот-же запрос, duration от 3 до 5. Запрос вида:
exec sp_executesql N'INSERT INTO dbo._Reference87 (_IDRRef,_Marked,_IsMetadata,_OwnerIDRRef,_Code...
Тригеров нет, констрейнтов нет, таблица типовая 1Совая, создана 1С.

Вы из 1С и из SSMS с одной и той же базой работаете?

И еще у Вас в 1С подписки на событие при записи данного справочника или общая для всех справочников?
...
Рейтинг: 0 / 0
03.06.2019, 15:12
    #39821742
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
VitShvetsЯ грешу на блокировкиНе обязательно блокировки. Ожидания надо анализировать.
sys.dm_os_waiting_tasks
sys.dm_exec_requests - столбец last_wait_type

Или установите себе sp_whoisactive
...
Рейтинг: 0 / 0
03.06.2019, 21:00
    #39821960
VitShvets
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
[quot 1C Developer]Вы из 1С и из SSMS с одной и той же базой работаете?
Да. Собственно в SSMS я взял 1Совый запрос из профайлера, поменял _IDRRef на новый и добавил begin tran/rollback tran в начале/конце insert, для "не нарушения" целостности данных.
1C Developer И еще у Вас в 1С подписки на событие при записи данного справочника или общая для всех справочников?
Не так и не так. Есть несколько подписок, связанных с данным справочником, но они сделаны на несколько видов справочников - договора, склады, Номенклатура и т.д.
invmИли установите себе sp_whoisactive
Поставил, поймал запрос. Выдаёт "(51ms)PAGEIOLATCH_EX:DBName:1(*)". Гугл говорит о "проблемах с диском", что ооочень врятли, т.к. во первых база лежит на лютом дисковом массиве, ну и во вторых, с другими таблицами такого поведения не наблюдал.
...
Рейтинг: 0 / 0
03.06.2019, 21:24
    #39821974
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
VitShvets,

чтобы убедиться, проверьте среднее значение длины очереди диска.
...
Рейтинг: 0 / 0
03.06.2019, 22:06
    #39821982
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
VitShvetsПримерно одинаковые. CPU = 15, Reads =35, Writes=6. Ну в среднем, плюс минус.А duration?
...
Рейтинг: 0 / 0
03.06.2019, 22:46
    #39821991
Mind
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
invmVitShvetsЯ грешу на блокировкиНе обязательно блокировки. Ожидания надо анализировать.
sys.dm_os_waiting_tasks
sys.dm_exec_requests - столбец last_wait_type

Или установите себе sp_whoisactive Для таких коротких запросов лучше уж через Extended Events ну или ожидания сессии (sys.dm_exec_session_wait_stats), если версия позволяет.
...
Рейтинг: 0 / 0
04.06.2019, 02:27
    #39822021
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
invmVitShvetsПримерно одинаковые. CPU = 15, Reads =35, Writes=6. Ну в среднем, плюс минус.А duration?Про это же ТС сразу написал:
VitShvetsПоймал профайлером, duration прыгает от 80-90 до 200-300 при вставке 1 записи. В менеджмент студии тот-же запрос, duration от 3 до 5.
...
Рейтинг: 0 / 0
04.06.2019, 13:36
    #39822277
Сруль.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
Слушайте, я тут с совещательным правом голоса.
Просто не далее, как вчера меня рук-во прихватило за жабр-
завис сервер по работе с населением.
Есть у меня прога, которая, типа, для висяков.
И она показала, что, висяк на инсерте, да такой, что не горюй.
Табличка, что принимает инсерт оказалась 32 лимона записей.
Я её переименовал, создал такую-же, с такими же индексами
и, внимание, похожим праймери ки, т.к. два праймери ки с одинаковым именем не бывают.
Перетащил из бывшей два лимона последних записей, помножив их айдентити на -1, чтоб были
распозноваемы и не дублировались. Сервер взлетел.
Чо думаю. Кластерный праймери ки забодался пересчитываться на 32 лимонах.
Сосед по парте говорит надо было разбить на партишены.
Да мало ли где чего набо было бы. Чуство реальности терять не надо.
У системки есть хозяева-нехай думают, им за это платют.
А программка по висякам здесь,
типа.
https://sqlactiveprocess.blogspot.com
...
Рейтинг: 0 / 0
04.06.2019, 14:43
    #39822323
VitShvets
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Долгий INSERT
Владислав Колосовпроверьте среднее значение длины очереди диска.
В среднем 1.5 - от 0.5 до 2.5.
MindДля таких коротких запросов лучше уж через Extended Events ну или ожидания сессии (sys.dm_exec_session_wait_stats), если версия позволяет.
SQL 2016-й. Надо начать таки изучать что есть Extended Events и как оно работает...
Сруль.Табличка, что принимает инсерт оказалась 32 лимона записей.
Таблица у меня чуть поскромнее, 18 миллионов.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Долгий INSERT / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]