powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Долгий INSERT
13 сообщений из 13, страница 1 из 1
Долгий INSERT
    #39821006
VitShvets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Куда хоть посмотреть? Всю голову сломал... База 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
Долгий INSERT
    #39821022
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VitShvetsПоймал профайлером, duration прыгает от 80-90 до 200-300 при вставке 1 записи. В менеджмент студии тот-же запрос, duration от 3 до 5.А CPU, Read, Wrtites разные?
Выполняется из одного места или из разных (в смысле, SSMS и клиент 1C)?
Пользователь, под которым коннект к сиквелу, одинаковый?
Протокол подключения одинаковый?
...
Рейтинг: 0 / 0
Долгий INSERT
    #39821285
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VitShvets,

Если вместе со вставкой выполняется чтение, то вполне возможно. или конкурирующая вставка.
Можете в момент вставки запустить просмотр счетчиком производительности windows и понаблюдать за задержками на уровне файловой системы или самого сервера.
...
Рейтинг: 0 / 0
Долгий INSERT
    #39821673
VitShvets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvgА CPU, Read, Wrtites разные?
Примерно одинаковые. CPU = 15, Reads =35, Writes=6. Ну в среднем, плюс минус.
alexeyvgВыполняется из одного места или из разных (в смысле, SSMS и клиент 1C)?
Из разных. 1С запущена непосредственно на сервере, SSMS на моём рабочем.
alexeyvgПользователь, под которым коннект к сиквелу, одинаковый?
Пробовал и разные и одинаковые. Разные, оба админы.
alexeyvgПротокол подключения одинаковый?
Одинаковый, TCP/IP.
Владислав КолосовЕсли вместе со вставкой выполняется чтение, то вполне возможно. или конкурирующая вставка.
Я грешу на блокировки, надо только погуглить как их проще ловить.
Владислав КолосовМожете в момент вставки запустить просмотр счетчиком производительности windows и понаблюдать за задержками на уровне файловой системы или самого сервера.
Попробую, пока других вариантов нет...
...
Рейтинг: 0 / 0
Долгий INSERT
    #39821723
1C Developer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Долгий INSERT
    #39821742
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VitShvetsЯ грешу на блокировкиНе обязательно блокировки. Ожидания надо анализировать.
sys.dm_os_waiting_tasks
sys.dm_exec_requests - столбец last_wait_type

Или установите себе sp_whoisactive
...
Рейтинг: 0 / 0
Долгий INSERT
    #39821960
VitShvets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[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
Долгий INSERT
    #39821974
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VitShvets,

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


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