|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
Есть инсталляция база под 100 гигов, КА 1.1.52.1 , 8.2.19.83 , sql 2008 проц amd 6172 2.1 так вот , есть у нас некий отчет по просроченной дебиторской задолженности так вот он формируется по определенному контрагенту 1- 1,5 часа, активно юзая tempdb, которая стоит на ssd. Под всю эту систему используется 10 винтов 15к sas + 2 ssd установив на виртуалку sql2014 которая крутится на 2 дисках в рейде 1 ( проц системы e5-2690) , загрузив туда рабочую базу . данный отчет делался 1,5 -2 минуты , а по всем контрагентам за 30 минут, при этом дисковые обращения к tempdb как будто и не производилось! также замечен довольно интересный эффект, что если размер кластера файловой системы , вместо 4 к поставить 64, от этого производительность падает, т.е. данный отчет делался уже 6 минут на 1го контрагента. тесты производились с максимальной степенью параллелизма установленного в 0, sql 2014 все настройки в дефолте перенес sql 2014 с виртуалки на живую машину скорее всего из-за включенного Hyper Trading, производительность упала, в настройках sql поставил галки на каждый второй проц , производительность вернулась . так-что , теория это одно , а практика - совсем другое !! рассматриваю переход на sql 2014 только из-за этого отчета. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2014, 12:59 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
Petr Nikolaev, по какой причине вы считаете, что переход на 2014 позволит увеличить производительность? Движок 1С 8 не рассчитан на использование гекатона. Единственная технология 2014, которая может быть интересна с точки зрения повышения производительности бизнес-приложений на 1С это Buffer Pool Extension. Но "надеяться" на нее нужно в случае недостатка ОЗУ на сервере БД. Рекомендую Вам сфокусироваться на оптимизации самих алгоритмов отчета (и связанной с ним архитектуры БД). Если нужна помощь – обращайтесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2014, 13:57 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
я же написал практику совою при использовании временных таблиц, в некоторых случаях прирост ощутимый!!! уменя в 50 раз а памяти стоит 140 , не шибко помогает . я сам думал ровно также как и вы, но вот моя практика. вот счас замерил на старом серваке 1час 50 минут, на тестовом 1минута 40 секунд, сервер приложений один и тот-же сейчас перенесу sql 2008 на тот же сервер с процами e5-2690 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2014, 16:04 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
Petr Nikolaevвот счас замерил на старом серваке 1час 50 минут, на тестовом 1минута 40 секунд, сервер приложений один и тот-же сейчас перенесу sql 2008 на тот же сервер с процами e5-2690Во время тестов каким образом вы эмулировали работу пользователей, которая происходит на рабочем сервере? Во время тестов на серверах БД очищались кеши? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2014, 16:17 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
user1c, да , очищал, переход на другой проц, производительность не увеличил так-что до конца года планирую перейти на платформу 8.3.5 и сервер sql 2014. если есть какие то предложения готов выслушать и протестить аналогичные тесты я проводил на sql 2012 такого эффекта не было добавлю , что часть тестов проходило на дисковой полке hp p2000 , на которой висит рабочяя база, ситуация аналогично описной выше. гилевский тест при этом особо увеличение производительности не показал. отмечу сервер приложений, сервер базы данных и клиентская машина во время тестов это были разные машины. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2014, 17:33 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
user1c, пользователей не эмулировал, проверял только вот этот отчет просроченной задолженности, который кладет мне блокировками работу пользователей. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2014, 17:35 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
Petr Nikolaevuser1c, пользователей не эмулировал, проверял только вот этот отчет просроченной задолженности, который кладет мне блокировками работу пользователей.Единственными известными мне вариантами проверки прироста производительности бизнес-приложений на 1С 8 (перед переходом на новую платформу или БД) являются: - запуск нагрузочного теста написанного самостоятельно или же шаблонного, например Стандартный нагрузочный тест (СНТ) из 1С:КИП - имитация загрузки инструментом типа softpoint traffic simulator если они показывают прирост производительности, значит его можно ожидать. Если результаты примерно одинаковы, вероятность мала. Запустите хотя бы СНТ на старой и новой конфигурациях, он должен показать прирост. Напишите потом результаты. Когда мы оценивали возможный профит миграции с SQL 2012 на SQL 2014, используя стандартные тесты и ряд разработанных под реальных заказчиков, существенного прироста производительности не увидели. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2014, 17:47 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
user1c, Согласен, все тесты у нас также не показали прироста производительности , он конечно был , но в пределах погрешности %10 а вот тяжелые отчеты , из-за которых у нас возникают блокировки и как следствие тормоза(т.к. при их выполнении также активно юзается tempdb) , начали летать! со всеми плюсами , если бы у нас бухгалтерия и сбыт работали в разное время, то проблем бы не возникало... кстати вопрос к вам как к опытному, max degree of parallelism и сопутствующие с ним параметры sql вы как выставляете ? и как часто в ваших интеграциях строятся системы с использованием shared memory? ( у меня не получается его использовать т.к. кластеризованно все) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2014, 22:13 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
Petr Nikolaev... кстати вопрос к вам как к опытному, max degree of parallelism и сопутствующие с ним параметры sql вы как выставляете ? Сори, что влажу в разговор, вопрос адресован не мне, но, насколько я знаю, для серверов 1С рекомендуют ставить max degree of parallelism равным 1. Говорят, что затраты на параллелизм для такой OLTP системы как 1С превышают выгоду и выигрыш от такой установки может быть весьма существенным. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 01:04 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
Petr Nikolaev... а вот тяжелые отчеты , из-за которых у нас возникают блокировки и как следствие тормоза.... Скажите, а у Вас отчеты выполняются в транзакции? Насколько я знаю, блокировки устанавливаются только если код выполняется в транзакции ... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 01:10 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
kihor, я тоже так думал , но блокировки в конфе стоят автоматические, хз зачем он блочит. на ручное управление прогеры переходить не желают ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 01:48 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
kihor Сори, что влажу в разговор, вопрос адресован не мне, но, насколько я знаю, для серверов 1С рекомендуют ставить max degree of parallelism равным 1. Говорят, что затраты на параллелизм для такой OLTP системы как 1С превышают выгоду и выигрыш от такой установки может быть весьма существенным. тоже так делал, но вот в 2014 это дает некий прирост, (тест только на одном отчете) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 01:50 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
не ну то что оптимизатор в sql2014 отличается сильно это слышали конечно, но сдается отчет у вас формируется так долго на 2008 из за неоптимального плана. Вы бы планы сравнили на 2008 и 2014, что там показывает. tempdb используется 1Ской в любой версии SQL интенсивно, так как все запросы генерируемые платформой (и разработчиками) построены на временных таблицах. Ну и конечно режим нужно переводить конфигурацию в режим управляемых блокировок. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 10:45 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
Petr Nikolaevmax degree of parallelism и сопутствующие с ним параметры sql вы как выставляете ?Ставим 1, ни разу не встречались системы на которых наблюдался комплексный прирост производительности из-за распараллеливания, только наоборот. На одном из проектов ускоряли штатное восстановление последовательности в БП, т.к. оно изначально выполняется в монопольном режиме, пробовали включить DOP что бы получить прирост производительности, но даже на этой операции ускорения не наблюдалось. В итоге ускорили его распараллеливанием через фоновые задания. Petr Nikolaevчасто в ваших интеграциях строятся системы с использованием shared memory? ( у меня не получается его использовать т.к. кластеризованно все)Редко, на большинстве проектов в которых мне довелось участвовать, сервер приложения и БД, были разнесены. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 11:02 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
kihorPetr Nikolaev... а вот тяжелые отчеты , из-за которых у нас возникают блокировки и как следствие тормоза.... Скажите, а у Вас отчеты выполняются в транзакции? Насколько я знаю, блокировки устанавливаются только если код выполняется в транзакции ...Не обязательно, на партнерском форуме коллеги писали, что: При использовании построителя отчета (например, универсального отчета из УПП) задать отборы или группировки по периодам, то запрос выполняется в транзакции и соответственно устанавливает блокировки на ресурсы Сами не проверяли, но ситуации когда при подготовке отчетов используется ответственное чтение имеют место быть, даже в стандартах вендора такие рекомендации есть. Переходить на управляемые блокировки и 8.3 нужно, потому как это позволит использовать уровень изоляции Read Commited Snapshot и любое чтение вне транзакции будет ответственным. Ну и количество избыточных блокировок на уровне СУБД уменьшится. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2014, 11:16 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
Petr Nikolaevuser1c, Согласен, все тесты у нас также не показали прироста производительности , он конечно был , но в пределах погрешности %10 а вот тяжелые отчеты , из-за которых у нас возникают блокировки и как следствие тормоза(т.к. при их выполнении также активно юзается tempdb) , начали летать! со всеми плюсами , если бы у нас бухгалтерия и сбыт работали в разное время, то проблем бы не возникало... кстати вопрос к вам как к опытному, max degree of parallelism и сопутствующие с ним параметры sql вы как выставляете ? и как часто в ваших интеграциях строятся системы с использованием shared memory? ( у меня не получается его использовать т.к. кластеризованно все) Подозреваю, что либо ваш супер-отчёт написан криво, и вы пытаетесь решить косяки программистов с помощью технологического апгрейда, либо есть косяки в настройке сервера (например, малый размер для авторасширения) . Кстати, MAXDOP на многоядерных системах с HT рекомендуют выставлять не выше, чем количество физических ядер в системе, например, для amd 6172 = 12, для e5-2690 = 8 (ну уменьшите их ещё в 2 раза - 6 и 4, но ставить 1, это всё равно, что ездить на одном цилиндре 8-цилиндрового мерса). Для параллелизма есть нюанс с одновременным доступом к памяти в многопроцессорных системах при совмещении серверов MSSQL и 1С, на них иногда MSSQL лочат на конкретный многоядерный процессор, чтобы оставить другой процессор для сервера-1С. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2014, 10:14 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
andr_andreyно ставить 1, это всё равно, что ездить на одном цилиндре 8-цилиндрового мерсаЭто, кстати, одна из официальных рекомендаций вендора для ранних версий MSSQL, но не из-за производительности а из-за случаев возникновения взаимных блокировок: http://kb.1c.ru/articleView.jsp?id=27 Мне не встречали примеры, когда из-за DOP <> 1 получилось повысить производительность комплексно для систем на 1С 8, приходилось использовать другие методики. Если у Вас есть такие примеры, поделитесь пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2014, 12:43 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
trewuser1c, Можете материал по вашей ссылке выложить на форум? http://kb.1c.ru/articleView.jsp?id=27 У Вас есть доступ К ИТС онлайн? Вот эта же статья: http://its.1c.ru/db/metod8dev#content:2379 А вообще, если вы занимаетесь технологическими вопросами задумайтесь "над открытием доступ"а к kb.1c.ru, там есть очень полезные и интересные материалы. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2014, 14:45 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
user1c, У меня только доступ к обновлениям на сайте 1С. А на ИТС этот(который у меня есть) логин и пароль не подходят. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2014, 15:45 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
user1candr_andreyно ставить 1, это всё равно, что ездить на одном цилиндре 8-цилиндрового мерсаЭто, кстати, одна из официальных рекомендаций вендора для ранних версий MSSQL, но не из-за производительности а из-за случаев возникновения взаимных блокировок: http://kb.1c.ru/articleView.jsp?id=27 Мне не встречали примеры, когда из-за DOP <> 1 получилось повысить производительность комплексно для систем на 1С 8, приходилось использовать другие методики. Если у Вас есть такие примеры, поделитесь пожалуйста. MAXDOP влияет на скорость построения и изменения индексов. Если допустить, что мегаотчёты автора ветки действительно работают с большими массивами данных(в противном случае непонятно такое время выполнения), то оптимизатор вполне может выбрать способ соединения HASH JOIN для больших таблиц, и тут MAXDOP > 1 лучше. Вопрос конечно к автору, каков план запроса мегаотчёта и сколько выставить MAXDOP? Я бы рекомендовал ему количество физических ядер поделить на 2 и выставить его в MAXDOP, и только при получении ошибок блокировки менять его в меньшую сторону. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2014, 17:33 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
user1c... Мне не встречали примеры, когда из-за DOP <> 1 получилось повысить производительность комплексно для систем на 1С 8, приходилось использовать другие методики. Если у Вас есть такие примеры, поделитесь пожалуйста. Только не подумайте, что я утверждаю этот простой параметр как серебряную пулю, я просто поделился своим скромным опытом. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2014, 17:47 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
andr_andrey Подозреваю, что либо ваш супер-отчёт написан криво, и вы пытаетесь решить косяки программистов с помощью технологического апгрейда, либо есть косяки в настройке сервера (например, малый размер для авторасширения) . Кстати, MAXDOP на многоядерных системах с HT рекомендуют выставлять не выше, чем количество физических ядер в системе, например, для amd 6172 = 12, для e5-2690 = 8 (ну уменьшите их ещё в 2 раза - 6 и 4, но ставить 1, это всё равно, что ездить на одном цилиндре 8-цилиндрового мерса). Для параллелизма есть нюанс с одновременным доступом к памяти в многопроцессорных системах при совмещении серверов MSSQL и 1С, на них иногда MSSQL лочат на конкретный многоядерный процессор, чтобы оставить другой процессор для сервера-1С. отчет возможно и написан криво , но ни один кодер его не смог переписать , могу как нить выложить MAXDOP пользовал в различных комбинациях в большинстве случаев 1 реально оптимально , можно тестиьт на времени запуска того-же конфигуратора. 1с и sql всегда в рабочем режиме были разделены. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2014, 18:44 |
|
SQL Server 2014 + 1C
|
|||
---|---|---|---|
#18+
andr_andrey MAXDOP влияет на скорость построения и изменения индексов. Если допустить, что мегаотчёты автора ветки действительно работают с большими массивами данных(в противном случае непонятно такое время выполнения), то оптимизатор вполне может выбрать способ соединения HASH JOIN для больших таблиц, и тут MAXDOP > 1 лучше. напомню у меня 2008 sql не r2 оптимизатор по MAXDOP , там реально работает плохо , andr_andreyВопрос конечно к автору, каков план запроса мегаотчёта и сколько выставить MAXDOP? Я бы рекомендовал ему количество физических ядер поделить на 2 и выставить его в MAXDOP, и только при получении ошибок блокировки менять его в меньшую сторону. MAXDOP в сложных запросах давал прирост , но в основном на простых операциях получал замедление при делении на 2 MAXDOP медленнее, чем просто отключить половину процов и установить его в 0 это на 2014 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2014, 18:49 |
|
|
start [/forum/topic.php?fid=28&msg=38816483&tid=1519219]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 320ms |
total: | 452ms |
0 / 0 |