Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

После переезда на новый сервер зависает запрос к базе

После переезда на новый сервер зависает запрос к базе
Я
   Скромный программер
 
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'
И это может длиться часами
   aka AMIGO
 
1 - 28.12.20 - 08:04
права, обратись к сисадмину
   aka AMIGO
 
2 - 28.12.20 - 08:07
(1) + системные, а не в 1с
   Скромный программер
 
3 - 28.12.20 - 08:08
Админ сам не знает, в чем проблема, может подскажете?
   rphosts
 
4 - 28.12.20 - 08:09
(0) Вангую. А код:
Результат = Запрос.Выполнить().Выгрузить(); 
Выполняется пара сек максимум
   rphosts
 
5 - 28.12.20 - 08:10
(3) потому-что это не админова проблема. На вопрос из (4) ответь
   aka AMIGO
 
6 - 28.12.20 - 08:12
(5) ""потому-что это не админова проблема.""
админова. У нас тоже образовался новый сервер, половина не смогли работать,  пока сисадмины не прописали юзеров
   aka AMIGO
 
7 - 28.12.20 - 08:13
(4) КУДА он выгружается, знаешь? не всё валится в Оп
   Скромный программер
 
8 - 28.12.20 - 08:13
Насчет прав сомнительно, потому что урезанный запрос выполняется быстро: "ВЫБРАТЬ ПЕРВЫЕ 1000 * ИЗ Справочник.Контрагенты"

Что касается выполнения кода, то зависает именно на этой строке: Результат = Запрос.Выполнить().Выгрузить();
   Скромный программер
 
9 - 28.12.20 - 08:15
У меня возникла проблема при выгрузке и я выяснил, что затык на этом запросе. Поэтому я набросал простую обработку с кодом:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ * ИЗ Справочник.Контрагенты";
    Выборка = Запрос.Выполнить().Выбрать();
И этот код виснет
   aka AMIGO
 
10 - 28.12.20 - 08:15
Ладно, вы все знаете больше меня. Не буду больше спорить )
   ДенисЧ
 
11 - 28.12.20 - 08:16
А если 

Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ * ИЗ Справочник.Контрагенты";
    рез = Запрос.Выполнить();
    Выборка = рез.Выбрать();

?
   Скромный программер
 
12 - 28.12.20 - 08:18
Да если просто написать: Выборка = Запрос.Выполнить();
Зависает
   rphosts
 
13 - 28.12.20 - 08:25
(9) а вот такой:

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ Контрагенты.Наименование ИЗ Справочник.Контрагенты Как Контрагенты";
    Выборка = Запрос.Выполнить().Выбрать();
   shuhard
 
14 - 28.12.20 - 08:27
(12) и при этом склад работает и  платежки летают ?
   rphosts
 
15 - 28.12.20 - 08:29
(14) там т.ч. в контрагентов может быть херова гора, в менеджере объекта у справочника может быть переопределено получение представления и т.п. в общем вариантов просто херова гора!
   dmpl
 
16 - 28.12.20 - 08:30
(0) Замените * на имена полей и двоичным поиском ищите (удаляя половину полей за раз).
   shuhard
 
17 - 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) К чему такие сложности, это запрос должен работать со звездочкой. Раньше работал.
   rphosts
 
22 - 28.12.20 - 08:40
(18) Значит повторно может и менее чем 1 сек.

1.прекраити отбирать *, отбирай только то, что требуется
2.проверь что никакого переопределения получения представления нет.
3.будет время - подтяни матчасть по запросам
   ДенисЧ
 
23 - 28.12.20 - 08:41
Если вернуть базу на старый сервер - зависания прекратятся?
   rphosts
 
24 - 28.12.20 - 08:42
(20) настройки скуля, агент? Сервера СУБД или 1С?
снести к херам поставить нормально, с учётом того что всё на сервере - сделать им шаред мемори.
Надеюсь не под виртуалками всё это работает? Памяти хватает?  Диск (физический) не 1 на всё?
   Провинциальный 1сник
 
25 - 28.12.20 - 08:43
Тут было бы интересно перехватить запрос в профайлере sql, и посмотреть план этого запроса.
   rphosts
 
26 - 28.12.20 - 08:43
И да, открываем ИТС, ищем рекомендации настроек от 1С
   Bigbro
 
27 - 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)
   rphosts
 
32 - 28.12.20 - 08:55
(28) >Во-вторых, усвой простое правило

успехов!
   dmpl
 
33 - 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?
   ptiz
 
39 - 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')
   arsik
 
41 - 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
МС СКЛ аллоу лок пайджес ин мемори, как то так, ?
   Garykom
 
54 - 28.12.20 - 11:06
(0) У вас сервер 1С и mssql на одном сервере?
   H A D G E H O G s
 
55 - 28.12.20 - 11:07
Что нам говорит бог фактического плана запроса xml ?
   H A D G E H O G s
 
56 - 28.12.20 - 11:08
Я делаю ставку на mdop=0
   Garykom
 
57 - 28.12.20 - 11:09
(56) А я на кривые настройки rphost и канал между ним и mssql
   ptiz
 
58 - 28.12.20 - 11:20
(45) А напрямую в sql как запрос по таблице контрагентов отрабатывает?
   Bigbro
 
59 - 28.12.20 - 11:28
такой рост это кто то в память не влезает и идет своп, причем своп какой то повторно многократный.
   Александр111
 
60 - 28.12.20 - 11:28
Попробуй из https://www.plus-aliance.ru/news/tekhnoblog/service-databases-microsoft-sql-server-for-1c-operation/
Перестроения индекса и «Обновление статистик»
 
 Рекламное место пустует
   dmpl
 
61 - 28.12.20 - 11:45
А если явно упорядочить по наименованию или коду?
   Fram
 
62 - 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 запрос появляется в списке исполняемых на несколько секунд и потом исчезает.
   Bigbro
 
65 - 28.12.20 - 12:21
(63) скулю достаточно, может рпхосту не хватает принять что ему скуль вываливает?
последите за ресурсами которые жрет рпхост в этот момент.
   Garykom
 
66 - 28.12.20 - 12:22
(64) см (65)
250к табличка это мелочи для скуля, он за секунды выберет
а вот потом при передаче из скуля в сервер 1С висяки
   МихаилМ
 
67 - 28.12.20 - 12:23
версии платформы на старом и новом сервере?
   Garykom
 
68 - 28.12.20 - 12:24
(63) >Можно по-подробнее?

настройки рабочего сервера 1С глянь
   H A D G E H O G s
 
69 - 28.12.20 - 12:28
(63) "С этим некоторые сложности: на новом серваке стоит какой-то урезанный MS SQL (не экспресс) и в профайлере нельзя установить отбор по идентификатору ИБ, а в той лавине, которая льется черт ног сломит. "

Ты втираешь какую-то дичь.
   H A D G E H O G s
 
70 - 28.12.20 - 12:28
(63) Давай я подключусь, пиши на liveups@yandex.ru
   Скромный программер
 
71 - 28.12.20 - 12:40
(65) Насчет rphost поговорю с админом, может в этом что-то есть.
(67) 8.3.16.1659
(68) Какие именно?
(69) Втирают мазь в радикулит. Вот ссылка на мой фильтр в профайлере: https://ibb.co/ZhZmbPk
И еще раз говорю, скуль отрабатывает запрос в течение нескольких секунд, что ты там в профайлере найти хочешь?
   Garykom
 
72 - 28.12.20 - 12:41
(71) >Какие именно?

Глянь картинки http://catalog.mista.ru/1c/articles/1119524/
и тут http://www.gilev.ru/app1c/
   dmpl
 
73 - 28.12.20 - 12:46
(63) Затем, чтобы rphost не вздумал пузырьком по представлениям сортировать.
   arsik
 
74 - 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
   arsik
 
77 - 28.12.20 - 15:03
(76) Это реально 512 Гигов памяти?
   H A D G E H O G s
 
78 - 28.12.20 - 15:16
(77) Ну а что такого?
   Провинциальный 1сник
 
79 - 28.12.20 - 15:27
(71) "скуль отрабатывает запрос в течение нескольких секунд, что ты там в профайлере найти хочешь"
Собственно текст запроса. Чтобы его потом запустить отдельно с выводом плана выполнения.
   ssh2006
 
80 - 28.12.20 - 15:47
(79) +1
   ansh15
 
81 - 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!
   rphosts
 
83 - 28.12.20 - 17:13
(56) (57) ставлю на дичь в настройках и чьей-то голове.
   dmpl
 
84 - 29.12.20 - 12:27
(81) Это сообщение о том, что проверка связи клиента и сервера успешно прошла. Если клиент перестанет связываться с сервером - сеанс будет отмечен как спящий, а потом и вовсе принудительно завершен. Нужно просто в настройках ТЖ отключить это событие, чтобы оно не мешало, но настроить событие "время выполнения дольше N секунд" с выводом контекста.
   milkas90
 
85 - 29.12.20 - 13:08
Сайт быстрых онлайн знакомств в Иркутске https://flirtisms.ru/ Только реальные люди с реальными фото и телефонами. Хватит стеснятся, выбирай понравившееся объявление и звони!
   ansh15
 
86 - 29.12.20 - 13:38
(82)(84) Я понимаю. Просто автор темы заострил внимание именно на этом сообщении. Наверное, поизучав ТЖ более детально и вдумчиво("погрепить", так сказать) можно найти причину столь долгого ожидания, хотя бы выяснить кто кого ждет.
   Дык ё
 
87 - 29.12.20 - 17:05
(71) установи флажок Show all columns перед открытием фильтра
   SiAl-chel
 
88 - 29.12.20 - 19:02
(0) Было что-то подобное при переводе админами баз на новый MS SQL или у баз была версия совместимости повышена. Тогда закрытие месяца или проведение регламентных документов стремилось к бесконечности. Спасло само простое: тестирование и исправление через Конфигуратор.


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.