Вход | Регистрация

  1  2
Информационные технологии :: Администрирование

ERP + SQL = тормоза

ERP + SQL = тормоза
Я
   Hazer79
 
02.11.17 - 15:25
Доброго времени суток, уважаемые 1С-ники и админы.
Есть проблема, с которой никак не могу справиться, нужна помощь коллективного разума.

Итак, дано:
1. Сервер: Dell PowerEdge R815 (AMD Opteron 6276 2.3GHz, 4 процессора, 128 ГБ ОЗУ). SAS диски 10000 об/мин.
2. ОС: Windows Server 2008 R2 x64
3. СУБД: MS SQL Server 2012
4. Там же установлен сервер приложений 1С (8.3.10.2466). С SQL-сервером общаются в режиме Shared memory. Количество ИБ на процесс = 1.
5. Клиента 1С ERP пользователи (их на данный момент не более 10) запускают с сервера терминалов. Сеть между терминалкой и сервером БД - 1Гбит через коммутатор.
6. SQL-серверу выделено 90 ГБ ОЗУ (причём, что интересно, раньше он выедал классически всю выделенную ему память. Сейчас же, после последней перезагрузки, не более 500МБ). Параметр Maxdop = 1. Cost threshhold of parallelism=15. Maximum worker threads-2048. Модель восстановления БД Simple.
7. Мониторинг производительности показал что дисковых очередей значительных нет. Блокировок нет. Buffer Cache Hit Ratio стабильно в районе 100%.
8. Тест Гилёва в попугаях показал 18 пернатых (если кому интересно).

Собственно проблема заключается в том, что при открытии списков и проведении документов приходится ждать по 10-30 секунд. При этом единственное, что я заметил, резко возрастает в мониторинге значение параметра Batch requests/sec и вместе с ним SQL Re-Compilations/sec.
Развернул из выгруженного DT-шника БД у себя на рабочей машине (совсем офисная станция) в файловый вариант - всё летает. Мгновенно любые операции выполняются.

Подскажите, пожалуйста, что где подкрутить/посмотреть чтобы исправить ситуацию. Выслушаю любые рекомендации, т.к. устал уже в стенку вторую неделю долбиться.
 
 
   ansh15
 
101 - 07.11.17 - 16:25
(100) И что именно "летает"?
   lodger
 
102 - 07.11.17 - 16:30
(100) расценивать это как 10.1 попугаев.
   Hazer79
 
103 - 07.11.17 - 16:33
(101) Типичные операции, озвученные в (0): открытие списков и проведение документов. Они выполняются так же быстро как и при файловом варианте.
   Hazer79
 
104 - 07.11.17 - 16:37
Стресс-тест того же Гилева показал рекомендуемое количество пользователей 126, максимальную скорость 117420 КБ/сек.
Если я, конечно, в нужное место смотрел.
   Amirk
 
105 - 07.11.17 - 16:39
(0) попробуй MS SQL Profiler получи любой тормозной запрос.. получи его текст...разбери запрос по косточкам.
   Amirk
 
106 - 07.11.17 - 16:40
(105) имея текст запроса уже можно напрямую в БД его слать, исключишь влияние 1с сервера..
   ansh15
 
107 - 07.11.17 - 16:51
(103) >> значение параметра Batch requests/sec и вместе с ним SQL Re-Compilations/sec.
Эти параметры также возрастают резко или иное поведение наблюдается? По сравнению с вариантом когда сервер приложений 1С и SQL на одном сервере?
   g00d
 
108 - 07.11.17 - 18:09
сервер изначально не оптимальный для быстрой работы 1с,
Для начала отключил бы все экономайзеры питания.
Затем проверил настройки рейда, кэширование, размеры буферов, проверил бы батарейку и т.п.
Затем откатил бы ОС и SQL на минимально возможные версии.
Затем я бы жестко распределил ядра и память по процессам, qpi узкое место.
Затем  отключить tcp offload на сетевых картах сервера, если сетевая карта не поддерживает данный контроль, то трафик сильно тормозит.
Затем у скуль сервера привести настройки в соответствии с требованиями 1с
Дальше поправить настройки рабочих процессов, сделать так что бы на каждую базу не зависимо от кол-ва рабочих сеансов, создавался только 1 рабочий процесс(замечено, что ragent замедляется с ростом rphost).

Но лучше этот сервер отдать по терминалы, а для 1с и субд купить новый. Причем лучше 2 сервера, под 1с с максимальным шустрым процом, по субд с максимальной шустрым вводом\выводом.
   Cyberhawk
 
109 - 07.11.17 - 18:10
(108) "проверил настройки рейда, кэширование, размеры буферов" // А что там надобно проверять?
   g00d
 
110 - 07.11.17 - 18:14
(109) тип рейда, в каком режиме работает кэширование, жива ли батарейка, какой размер страйпа и блока. Обычно это делают админы и не заочно :)
 
 Рекламное место пустует
   Cyberhawk
 
111 - 07.11.17 - 18:21
(110) Применительно к 1С админам что-то знать нужно для настройки рейда?
   g00d
 
112 - 07.11.17 - 18:44
(111) я же написал, тип рейда, в каком режиме работает кэширование, жива ли батарейка, какой размер страйпа и блока.
   Cyberhawk
 
113 - 07.11.17 - 18:46
(112) Или ты не понял, или Я не так изложил мыслю. Админ, допустим, не знает, что в рейде будет база 1С (сервер 1С и СУБД) работать. Какие-то отличия от настройки этого рейда по сравнению с любой другой СУБД есть?
   g00d
 
114 - 07.11.17 - 18:59
(113) ну админы часто любят делать 5,6 рейды и прочие их комбинации, 0 рейд - обеспечивает надежность, но фактически замедляет запись, особенно если не работает кэширование записи  в следствии не работающей батарейки, не совпадающий размер кластера с скуль приводит так же к избыточному чтении записи.
в общем админ должен понимать что и зачем делает.

у Гилева была довольно подробная инструкция по дискам
   Пульсар
 
115 - 07.11.17 - 19:26
(114) а как проверить, что размер кластера совпадает со скулем?
   g00d
 
116 - 07.11.17 - 19:54
(115) не хочу быть испорченным телефоном, ищите статей полно.
Например http://sqlcom.ru/dba-tools/disk-partition-alignment/
   Новиков
 
117 - 07.11.17 - 20:34
Какие времена откликов mdf и ldf рабочей базы и темпдб, когда идут эти тормоза?
   ansh15
 
118 - 07.11.17 - 21:13
(108)Простейший тест производительности СУБД(в моем случае - pgbench) показывает результат два раза меньше при снижении тактовой частоты процессора с 3.4 GHz до 1.6 GHz.
Думаю, что "шустрый проц" не такая уж и необязательная вещь для СУБД.
   Пульсар
 
119 - 07.11.17 - 21:30
(114) да и 0 раид ну ни как не обеспечивает надежность, надежность обеспечивается с 1 раида и да, не рекомендуйте ту туфту что в (116)
   g00d
 
120 - 07.11.17 - 21:40
(119) да виноват, ошибся, имелось ввиду зеркало 1 рейд,
про 116 фигня или нет, решает каждый сам для себя.
   Hazer79
 
121 - 07.11.17 - 22:17
(108) Экономайзеров питания нет
RAID 10, кэширование включено, батарейки живы.
В откате на минимальные версии смысла не вижу.
Ядра и память имеет смысл жёстко распределять тогда, когда ЦП и память конкретно являются узким местом. У меня далеко не факт что это так.
TCP offload давно отключен. Но это и не при чём, т.к. я уже неоднократно говорил в теме что и без сетевого трафика (локально) тормоза были те же.
1 ИБ на рабочий процесс я делал. Писал об этом выше. Толку ноль.
(116) Начиная с Windows Server 2008 (возможно R2) система сама умеет выравнивание.
   g00d
 
122 - 07.11.17 - 22:25
(121) попробуй разнести на разные компы 1с и субд, например развернуть на своем компе SQL сервер и проверь как будет работать 1с или наоборот
   Hazer79
 
123 - 07.11.17 - 22:26
(122) А я в (93) не это разве сделал?
   Пульсар
 
124 - 07.11.17 - 22:30
(121) на тему файловый или sql  вариант использования, в чем разница, что быстрее,  полно статей( у того же Гилева). Поэтому рекомендую почитать.
   g00d
 
125 - 07.11.17 - 22:31
(123) всю ветку не читал.
и еще посмотри настройки сортировки у тормозящих списков в 1с. Часто бывает что включена сортировка по какой нить колонке типа суммы или контрагента. С какой скоростью открывается дин.список с сортировкой по дате?  Бывало приходилось делать авто сброс настроек сортировки.
возможно твое железо работает на максимуме для клиент-серверного режима. Самый быстрый клиент-сервер почти в 2 раза медленнее файлового режима в один поток.
   g00d
 
126 - 07.11.17 - 22:35
и еще вопрос, на сервер крутятся другие базы?
я бы постарался снизить общую нагрузку на 1с и субд, за счет отключения "полезных" фоновых заданий. Поотключать у всех баз полнотекстовый поиск, по отключать всякие новости, проверки контрагентов. Если баз много, все эти задания создают очень существенную нагрузку.
   Hazer79
 
127 - 09.11.17 - 08:46
В продолжение эпопеи.

Выключил режим отладки на рабочем сервере, все проблемы исчезли.
   kauksi
 
128 - 09.11.17 - 08:56
(127) алилуйя. Хотя на своих продакш серверах и рабочих станциях особо разницы не замечаю. По крайней мере для УПП и БП3.
   PCcomCat
 
129 - 09.11.17 - 09:03
)))
   vde69
 
130 - 09.11.17 - 09:22
(127) вообще странно...
   mehfk
 
131 - 09.11.17 - 12:32
(130) Просто он попутно сервер 1С:Предприятия перезапустил - это и дало эффект...
   END
 
132 - 09.11.17 - 13:34
(130) Ничего странного. Отладка тормозит адски. Даже в документации про это есть.
   mehfk
 
133 - 09.11.17 - 13:42
(132) Пруф на документацию, где будет написано на сколько конкретно снижается производительность сервера 1С:Предприятия при включении отладки, будет?
 
 
   XMMS
 
134 - 09.11.17 - 13:55
надо тест Гилева сделать с отладкой и без...
   END
 
135 - 09.11.17 - 13:58
(133) http://its.1c.ru/db/v8doc#content:80:1 - кто же тебе напишет, насколько конкретно снизится? Поставь эксперимент.
   vde69
 
136 - 09.11.17 - 14:07
(135) простое включение отладчика для службы - практически не замедляет работу....

замедляет работу только реальная отладка (трассировка боевой базы), и то не как в сабже. Разумеется можно повесить блокировку таким образом, но сабж не об этом...
   END
 
137 - 09.11.17 - 14:10
(136) Цитата из (135) "замедление рабочего процесса сервера «1С:Предприятия» во время работы, если сервер работает в режиме отладки (ключ -debug)." У нас - замедляло. Чем больше пользователей одновременно работало, тем больше.
  1  2

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