|
После переезда на новый сервер зависает запрос к базе | ☑ | ||
---|---|---|---|---|
0
Скромный программер
28.12.20
✎
07:57
|
Всем доброго дня.
Переехали на новый сервер и начались проблемы. При выполнении запроса к большой таблице (250 тысяч записей), происходит зависание. Запрос простой: ВЫБРАТЬ * ИЗ Справочник.Контрагенты Запрос выполняется не в консоли а в коде обработки: Выборка = Запрос.Выполнить().Выбрать(); Агент сервера 64-х битный Статистику MS SQL по всей базе обновил. Насколько я понимаю, на стороне MS SQL запрос отрабатывается быстро, потому что при выполнении запроса к sys.dm_exec_requests as er CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) qt получаю только сам этот запрос, а мой проблемный запрос виден только в первые секунды после запуска обработки в 1С. В технологическом журнале каждые 11 секунд появляется строка вроде этой: 46:27.173000-0,CONN,0,process=1cv8,OSThread=576696,Txt='Ping direction statistics: address=МойIP:1560,pingTimeout=60000,pingPeriod=12000,period=11000,packetsSent=1,avgResponseTime=0,maxResponseTime=0,packetsTimedOut=0,packetsLost=0,packetsLostAndFound=0' И это может длиться часами |
|||
1
aka AMIGO
28.12.20
✎
08:04
|
права, обратись к сисадмину
|
|||
2
aka AMIGO
28.12.20
✎
08:07
|
(1) + системные, а не в 1с
|
|||
3
Скромный программер
28.12.20
✎
08:08
|
Админ сам не знает, в чем проблема, может подскажете?
|
|||
4
rphosts
28.12.20
✎
08:09
|
(0) Вангую. А код:
Результат = Запрос.Выполнить().Выгрузить(); Выполняется пара сек максимум |
|||
5
rphosts
28.12.20
✎
08:10
|
(3) потому-что это не админова проблема. На вопрос из (4) ответь
|
|||
6
aka AMIGO
28.12.20
✎
08:12
|
(5) ""потому-что это не админова проблема.""
админова. У нас тоже образовался новый сервер, половина не смогли работать, пока сисадмины не прописали юзеров |
|||
7
aka AMIGO
28.12.20
✎
08:13
|
(4) КУДА он выгружается, знаешь? не всё валится в Оп
|
|||
8
Скромный программер
28.12.20
✎
08:13
|
Насчет прав сомнительно, потому что урезанный запрос выполняется быстро: "ВЫБРАТЬ ПЕРВЫЕ 1000 * ИЗ Справочник.Контрагенты"
Что касается выполнения кода, то зависает именно на этой строке: Результат = Запрос.Выполнить().Выгрузить(); |
|||
9
Скромный программер
28.12.20
✎
08:15
|
У меня возникла проблема при выгрузке и я выяснил, что затык на этом запросе. Поэтому я набросал простую обработку с кодом:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ * ИЗ Справочник.Контрагенты"; Выборка = Запрос.Выполнить().Выбрать(); И этот код виснет |
|||
10
aka AMIGO
28.12.20
✎
08:15
|
Ладно, вы все знаете больше меня. Не буду больше спорить )
|
|||
11
ДенисЧ
28.12.20
✎
08:16
|
А если
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ * ИЗ Справочник.Контрагенты"; рез = Запрос.Выполнить(); Выборка = рез.Выбрать(); ? |
|||
12
Скромный программер
28.12.20
✎
08:18
|
Да если просто написать: Выборка = Запрос.Выполнить();
Зависает |
|||
13
rphosts
28.12.20
✎
08:25
|
(9) а вот такой:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ Контрагенты.Наименование ИЗ Справочник.Контрагенты Как Контрагенты"; Выборка = Запрос.Выполнить().Выбрать(); |
|||
14
shuhard
28.12.20
✎
08:27
|
(12) и при этом склад работает и платежки летают ?
|
|||
15
rphosts
28.12.20
✎
08:29
|
(14) там т.ч. в контрагентов может быть херова гора, в менеджере объекта у справочника может быть переопределено получение представления и т.п. в общем вариантов просто херова гора!
|
|||
16
dmpl
28.12.20
✎
08:30
|
(0) Замените * на имена полей и двоичным поиском ищите (удаляя половину полей за раз).
|
|||
17
shuhard
28.12.20
✎
08:32
|
(15) и контрагент может быть с латинской буквой в наименовании справочника =)
|
|||
18
Скромный программер
28.12.20
✎
08:33
|
(13) выполнился за 5 секунд
|
|||
19
Ёпрст
28.12.20
✎
08:34
|
(0) кто куда переехал то хоть? Скуль на новый сервер? Сервер 1с на новый сервер? Файлопомойка сипользователями? Архитектура то какая хоть? Или все на одном сервере у вас?
|
|||
20
Скромный программер
28.12.20
✎
08:36
|
Купили новый сервак, там стоит и MS SQL и агент сервера. Проблемы одинаковые как при работе с другого сервера с этим скулем, так и при работе непосредственно на скуле.
|
|||
21
Скромный программер
28.12.20
✎
08:39
|
(16) К чему такие сложности, это запрос должен работать со звездочкой. Раньше работал.
|
|||
22
rphosts
28.12.20
✎
08:40
|
(18) Значит повторно может и менее чем 1 сек.
1.прекраити отбирать *, отбирай только то, что требуется 2.проверь что никакого переопределения получения представления нет. 3.будет время - подтяни матчасть по запросам |
|||
23
ДенисЧ
28.12.20
✎
08:41
|
Если вернуть базу на старый сервер - зависания прекратятся?
|
|||
24
rphosts
28.12.20
✎
08:42
|
(20) настройки скуля, агент? Сервера СУБД или 1С?
снести к херам поставить нормально, с учётом того что всё на сервере - сделать им шаред мемори. Надеюсь не под виртуалками всё это работает? Памяти хватает? Диск (физический) не 1 на всё? |
|||
25
Провинциальный 1сник
28.12.20
✎
08:43
|
Тут было бы интересно перехватить запрос в профайлере sql, и посмотреть план этого запроса.
|
|||
26
rphosts
28.12.20
✎
08:43
|
И да, открываем ИТС, ищем рекомендации настроек от 1С
|
|||
27
Bigbro
28.12.20
✎
08:45
|
не надо выбрать * писать. пожалуйста.
вам ведь реально * не нужно. |
|||
28
Скромный программер
28.12.20
✎
08:45
|
(22) Во-первых, это не мой запрос, а типовой выгрузки из УПП в КА. Во-вторых, усвой простое правило: если запрос на старом сервере работал, а на новом нет, значит имеются проблемы и их нужно решать, а не пытаться залезть через зад.
|
|||
29
Ёпрст
28.12.20
✎
08:53
|
(20) ну так в sql server manager оставь протоколы только шаред мемори, в настройках электропитания выстави макс производительность, настрой сам скуль и агент сервера..
|
|||
30
Ёпрст
28.12.20
✎
08:53
|
+ дисковая система какая хоть? Темпдб скуля где хоть лежит?
|
|||
31
ДенисЧ
28.12.20
✎
08:54
|
(28) ответь на (23)
|
|||
32
rphosts
28.12.20
✎
08:55
|
(28) >Во-вторых, усвой простое правило
успехов! |
|||
33
dmpl
28.12.20
✎
08:56
|
(21) Ну может там 4К фильм в хранилище значения лежит. Или представление криво получается.
|
|||
34
Толич
28.12.20
✎
08:56
|
(0) Добрый день.
Согласен с (24) в этой части >>снести к херам поставить нормально, с учётом того что всё на сервере >>Памяти хватает? У меня около года назад после переезда на новый более серьезный по характеристикам физический сервер появилась проблема с быстродействием больших запросов. Производительность упала раз в 10 по ощущениям. Но самое интересное, что никто не жаловался, кроме тех пользователей, кто работает с большими объемами данных. Устанавливал SQL сервер администратор. В очередные выходные удалил SQL сервер, поставил заново, настроил православно (по Гилёву) и залил из dt туда базы. Заработало изумительно быстро. |
|||
35
Ёпрст
28.12.20
✎
08:58
|
И да..сколько памяти ? Сколько скулю выдано?..
|
|||
36
Ёпрст
28.12.20
✎
08:59
|
+ какая чтепень параллизма выставлена у скуля?..и версии он какой хоть? 19?
|
|||
37
Скромный программер
28.12.20
✎
09:01
|
Некоторые новости: запрос с выборкой 10 тысяч записей выполняется за 6 секунд, а 100 тысяч завис - ждал 10 минут и убил сеанс.
Через часик отвечу на все вопросы. Заранее спасибо за помощь. |
|||
38
Толич
28.12.20
✎
09:01
|
И есть ли ограничение по памяти для SQL?
|
|||
39
ptiz
28.12.20
✎
09:23
|
(0) Под полными правами тоже зависает? Не в РЛС причина?
|
|||
40
Скромный программер
28.12.20
✎
10:07
|
(23) На старом серваке проблем не было и я не пытался снова повторить операцию на нем, тем более, что он на данный момент не доступен.
Тут много вопросов по скулю. Я не спец по MS SQL, но, насколько я понимаю, проблема не в нем. Я ранее писал, что на самом скуле запрос выполняется пару секунд и потом не висит в списке выполняемых. Из этого я и делаю вывод, что проблема не в скуле. Или я не прав? Перечень активных запросов на скуле можно получить вот этим запросом: SELECT qt.text, * FROM sys.dm_exec_requests as er CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) qt WHERE database_id = DB_ID('DatabaseName') |
|||
41
arsik
гуру
28.12.20
✎
10:09
|
(40) Скорее всего параллелизм включен в 0 и большие порции он пытается распараллелить.
|
|||
42
Скромный программер
28.12.20
✎
10:10
|
Диски SSD, TempDB на отдельном диске.
А где настраивается параллелизм и какое там должно быть значение? |
|||
43
Скромный программер
28.12.20
✎
10:20
|
параллелизм включен в 1, как и рекомендует 1С
|
|||
44
Йохохо
28.12.20
✎
10:24
|
поля неограниченной длины?
|
|||
45
Скромный программер
28.12.20
✎
10:25
|
Еще по тестам с размерами выборки:
10 тыс - 3 сек 20 тыс - 12 сек 30 тыс - 27 сек 40 тыс - 1 мин 8 сек 50 тыс - 2 мин 36 сек Такой экспоненциальный рост - это нормально? |
|||
46
Йохохо
28.12.20
✎
10:36
|
(45) это значит есть гонка за какой то ресурс, например сеть
|
|||
47
Йохохо
28.12.20
✎
10:36
|
или свап
|
|||
48
Скромный программер
28.12.20
✎
10:43
|
(46) Сеть отпадает: запустил 1с на скульном серваке и там примерно те же показатели
|
|||
49
Скромный программер
28.12.20
✎
10:45
|
(30) На скуле SSD-диски, TempDB на отдельном.
|
|||
50
Скромный программер
28.12.20
✎
10:46
|
(44) Справочник Контрагенты отличается от типового двумя числовыми реквизитами (конфигурация УПП)
|
|||
51
Йохохо
28.12.20
✎
10:49
|
в мониторе ресурсов случаем вся память не в "Ожидание"?
|
|||
52
Скромный программер
28.12.20
✎
10:55
|
В "Ожидание" небольшая часть, основные - это "Используется" и "Свободно" (много)
|
|||
53
Йохохо
28.12.20
✎
10:59
|
МС СКЛ аллоу лок пайджес ин мемори, как то так, ?
|
|||
54
Garykom
гуру
28.12.20
✎
11:06
|
(0) У вас сервер 1С и mssql на одном сервере?
|
|||
55
H A D G E H O G s
28.12.20
✎
11:07
|
Что нам говорит бог фактического плана запроса xml ?
|
|||
56
H A D G E H O G s
28.12.20
✎
11:08
|
Я делаю ставку на mdop=0
|
|||
57
Garykom
гуру
28.12.20
✎
11:09
|
(56) А я на кривые настройки rphost и канал между ним и mssql
|
|||
58
ptiz
28.12.20
✎
11:20
|
(45) А напрямую в sql как запрос по таблице контрагентов отрабатывает?
|
|||
59
Bigbro
28.12.20
✎
11:28
|
такой рост это кто то в память не влезает и идет своп, причем своп какой то повторно многократный.
|
|||
60
Александр111
28.12.20
✎
11:28
|
Попробуй из https://www.plus-aliance.ru/news/tekhnoblog/service-databases-microsoft-sql-server-for-1c-operation/
Перестроения индекса и «Обновление статистик» |
|||
61
dmpl
28.12.20
✎
11:45
|
А если явно упорядочить по наименованию или коду?
|
|||
62
Fram
28.12.20
✎
12:07
|
Судя по (18) дело в объеме данных. Либо каждая запись это до хрена байтов, либо канал между скулем и 1с сервером очень узкий.
|
|||
63
Скромный программер
28.12.20
✎
12:15
|
(54) Да, у нас MS SQL и агент сервера 1С на одной машине.
(55) С этим некоторые сложности: на новом серваке стоит какой-то урезанный MS SQL (не экспресс) и в профайлере нельзя установить отбор по идентификатору ИБ, а в той лавине, которая льется черт ног сломит. (57) Можно по-подробнее? (59) Памяти вроде достаточно - запускаю обработку и смотрю монитор ресурсов - там нет никакого переполнения. (62) У нас shared memory и по идее никакие каналы не используются. (61) Зачем? |
|||
64
Скромный программер
28.12.20
✎
12:16
|
Еще раз отмечу, что после запуска обработки, в MS SQL запрос появляется в списке исполняемых на несколько секунд и потом исчезает.
|
|||
65
Bigbro
28.12.20
✎
12:21
|
(63) скулю достаточно, может рпхосту не хватает принять что ему скуль вываливает?
последите за ресурсами которые жрет рпхост в этот момент. |
|||
66
Garykom
гуру
28.12.20
✎
12:22
|
(64) см (65)
250к табличка это мелочи для скуля, он за секунды выберет а вот потом при передаче из скуля в сервер 1С висяки |
|||
67
МихаилМ
28.12.20
✎
12:23
|
версии платформы на старом и новом сервере?
|
|||
68
Garykom
гуру
28.12.20
✎
12:24
|
(63) >Можно по-подробнее?
настройки рабочего сервера 1С глянь |
|||
69
H A D G E H O G s
28.12.20
✎
12:28
|
(63) "С этим некоторые сложности: на новом серваке стоит какой-то урезанный MS SQL (не экспресс) и в профайлере нельзя установить отбор по идентификатору ИБ, а в той лавине, которая льется черт ног сломит. "
Ты втираешь какую-то дичь. |
|||
70
H A D G E H O G s
28.12.20
✎
12:28
|
(63) Давай я подключусь, пиши на [email protected]
|
|||
71
Скромный программер
28.12.20
✎
12:40
|
(65) Насчет rphost поговорю с админом, может в этом что-то есть.
(67) 8.3.16.1659 (68) Какие именно? (69) Втирают мазь в радикулит. Вот ссылка на мой фильтр в профайлере: https://ibb.co/ZhZmbPk И еще раз говорю, скуль отрабатывает запрос в течение нескольких секунд, что ты там в профайлере найти хочешь? |
|||
72
Garykom
гуру
28.12.20
✎
12:41
|
(71) >Какие именно?
Глянь картинки http://catalog.mista.ru/1c/articles/1119524/ и тут http://www.gilev.ru/app1c/ |
|||
73
dmpl
28.12.20
✎
12:46
|
(63) Затем, чтобы rphost не вздумал пузырьком по представлениям сортировать.
|
|||
74
arsik
гуру
28.12.20
✎
13:20
|
(71) Покажи вот эту картинку из монитора ресурсов
https://i.imgur.com/gaEdOrO.png |
|||
75
Йохохо
28.12.20
✎
13:21
|
(74) - (52)
|
|||
76
Скромный программер
28.12.20
✎
13:26
|
||||
77
arsik
гуру
28.12.20
✎
15:03
|
(76) Это реально 512 Гигов памяти?
|
|||
78
H A D G E H O G s
28.12.20
✎
15:16
|
(77) Ну а что такого?
|
|||
79
Провинциальный 1сник
28.12.20
✎
15:27
|
(71) "скуль отрабатывает запрос в течение нескольких секунд, что ты там в профайлере найти хочешь"
Собственно текст запроса. Чтобы его потом запустить отдельно с выводом плана выполнения. |
|||
80
ssh2006
28.12.20
✎
15:47
|
(79) +1
|
|||
81
ansh15
28.12.20
✎
16:08
|
>> process=1cv8,OSThread=576696,Txt='Ping direction statistics: address=МойIP:1560
Это же клиентская часть, как я понимаю? Может, она ждет и не дождется ответа от сервера? Она 32-х разрядная? После этой строки нет никаких сообщений типа "Time expired" или тому подобных? |
|||
82
Йохохо
28.12.20
✎
16:54
|
(81) "каждые 11 секунд появляется строка" "period=11000" it work's!
|
|||
83
rphosts
28.12.20
✎
17:13
|
(56) (57) ставлю на дичь в настройках и чьей-то голове.
|
|||
84
dmpl
29.12.20
✎
12:27
|
(81) Это сообщение о том, что проверка связи клиента и сервера успешно прошла. Если клиент перестанет связываться с сервером - сеанс будет отмечен как спящий, а потом и вовсе принудительно завершен. Нужно просто в настройках ТЖ отключить это событие, чтобы оно не мешало, но настроить событие "время выполнения дольше N секунд" с выводом контекста.
|
|||
85
milkas90
29.12.20
✎
13:08
|
Сайт быстрых онлайн знакомств в Иркутске https://flirtisms.ru/ Только реальные люди с реальными фото и телефонами. Хватит стеснятся, выбирай понравившееся объявление и звони!
|
|||
86
ansh15
29.12.20
✎
13:38
|
(82)(84) Я понимаю. Просто автор темы заострил внимание именно на этом сообщении. Наверное, поизучав ТЖ более детально и вдумчиво("погрепить", так сказать) можно найти причину столь долгого ожидания, хотя бы выяснить кто кого ждет.
|
|||
87
Дык ё
29.12.20
✎
17:05
|
(71) установи флажок Show all columns перед открытием фильтра
|
|||
88
SiAl-chel
29.12.20
✎
19:02
|
(0) Было что-то подобное при переводе админами баз на новый MS SQL или у баз была версия совместимости повышена. Тогда закрытие месяца или проведение регламентных документов стремилось к бесконечности. Спасло само простое: тестирование и исправление через Конфигуратор.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |