Элементарный способ ускорить вашу 1С в два-три раза

Публикация № 964062

Администрирование - Производительность и оптимизация (HighLoad)

71
Как ни странно, для меня оказалось открытием, что скорость работы 1С (всех процессорных задач) можно ускорить более чем в два раза элементарной настройкой Windows.

Долго гадал, почему из трех практически идентичных компьютеров Core I7 одного и того же поколения 1С на двух работает быстро, а на третьем существенно медленнее.

Так как там серверная БД, пришлось серьезно вникать в анализ производительности БД, купил даже курс
"Ускорение и оптимизация систем на 1С:Предприятие 8.3"  и кстати не сочтите за рекламу - очень доволен остался... Парни просто профи в вопросе и умении излагать материал...
По советам из этого курса внедрил подсистему, фиксирующую время выполнения операций и стал изучать на 3х секундном процессе открытия определенной формы сколько тратится на запрос БД /процессорную обработку / Передачу данных на клиент.

Начал анализировать, у каких пользователей, в какое время, с какого сервера/клиента получается быстро или медленно.

Конечно же, поменял сервера местами, снова измерил время работы и выяснил что одинаковые сервера с чрезвычайно похожими сетапами дают разное время открытия формы. Хоть тресни.

Пошел к бородатому и чрезвычайно толковому сисадмину, рассказал про этот парадокс и он дал ответ, от которого во мне что-то перевернулось...

А я говорит, в одном сервере на днях в настройках электропитания поставил режим "Высокой производительности". Ну или в дополнительных параметрах питания, нашел раздел "Управление питанием процессора" - "Минимальное состояние процессора" - и поставил настройку 100%


 

Каково же было мое удивление, когда я замерил скорость открытия формы...

Ускорение и оптимизация систем на 1С:Предприятие 8.3

 

Я думаю, пояснять этот график не надо....

Конечно, грамотный айтишник скажет, что еще в БИОС надо выставлять максимальную производительность процессора, что бы в Windows уже не требовалось за этим следить. Но для сервера лезть в БИОС это целая история, причем ночная... А изменить сделать предложенную настройку настолько просто и очевидно - что стало стыдно за то, что потребовалось так много лет, что бы дойти до этой простой истины...

Ну и на всякий случай перечислю другие рекомендации, что записал для себя как обязательные..

- Использование скоростного SSD (можно SATA3, можно M.2)

- Запас оперативной памяти

- Windows тоже ставить на SSD или же обязательно переносить на SSD диск
     - файл подкачки
     - КЭШ сервера 1С (в реестре отредактировать команду запуска сервера)
     - Терминальных пользователей вынес в отдельную виртуальную машину (тоже на SSD)
     - Если используем решения на "обычных формах" - то никакой PostgreSQL - только MS SQL (Реагирую на гневный комментарий... - дело, конечно не в формах, а в технологии запросов, которые применялись в старых конфигурациях, когда допускалось соединение виртуальных таблиц без их предварительной записи во временную таблицу). 

- Если решение на управляемых формах, то используем Web сервер для доставки приложения. Особенно заметно на файловых базах - ускорение получается даже на том компьютере, где лежит эта база (что казалось бы парадокс). А у сетевых клиентов - просто космос!!!

- Регулярное тестирование БД с пересчетом итогов.

- Если SQL - не забываем про регламентное обслуживание SQL базы.

По рекомендации пользователя PerlAmutor  в комментариях - обращаю внимание на сведения от 1С https://its.1c.ru/db/metod8dev/content/5904/hdoc

Также рекомендую прочитать статью Скорость работы 1С8 файловой по сети

71

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. vano-ekt 524 15.12.18 00:53 Сейчас в теме
[:||||:]
Дмитрий74Чел; mirco; sevushka; WellMaster; user921389; kuzyara; 24rus; dandykry; akimych; starik-2005; +10 Ответить
2. nvv1970 15.12.18 01:16 Сейчас в теме
Кэп, кэп, кэп. Про это уже написано, рассказано... много много.
Перепечатка курса?
Про pg vs ms хрень полная. Автор выставляет себя дилетантом. И как можно путать формы, режим приложения и режим блокировок?
Дмитрий74Чел; mirco; Созинов; h00k; Silenser; MamatovIA; +6 1 Ответить
3. Aleksey81 936 15.12.18 07:48 Сейчас в теме
Про Postgre vs MS не хрень. Выполнение запросов в старых конфигурациях, где не используют временные таблицы, а делают сразу объединение виртуальных таблиц на postgre делается неэффективно и по времени в 3-5 раз медленнее. Это зафиксировано в официальной документации и хорошо видно при формировании прайс листа в УТ 10 в двух разных sql.
master555; h00k; Yakud3a; for_sale; +4 Ответить
4. Aleksey81 936 15.12.18 07:56 Сейчас в теме
(2) И поясните, пожалуйста, где были перепутаны "формы", "режим приложения", и "режим блокировок"?
for_sale; +1 Ответить
5. Aleksey81 936 15.12.18 08:32 Сейчас в теме
(4) Попробую угадать. Вам не понравилось упоминание о неэффективности использования PostGre на приложениях с обычными формами. Что ж. Это понятно. Здесь, вероятно, надо было указать длинную цепочку событий:
Обычные формы -> это старые конфигурации -> 1С в старых конфах использовала старую методологию в запросах -> В таких конфигурациях не редкость объединение виртуальных таблиц без их предварительного выделения во временные -> PostGre медленно работает, если использовалась эта "старая" методология. -> в старых конфах PostGre не эффективен.
frkbvfnjh; for_sale; Xershi; +3 Ответить
39. nvv1970 30.12.18 10:50 Сейчас в теме
(5) только наверно не объединение, а соединение)
Я за точность высказываний. Чтобы человек, не понимающий темы не делал смысловой привязки к формам. Потому что этим человеком может оказаться заказчик, который увидит ОФ и сделает абсолютно идиотский вывод плохой работе ПГ.
Спасибо за исправление. Извините за резкость и "гневность")))
Я рад, что у вас глубокие знания и опыт. Но нужна ответственность перед более неопытными коллегами за каждое свое слово. Поэтому давайте не оставлять за кадром такие важные моменты, тем более в статье.

Справедливости ради замечу, что такой сильной корреляции между формами и качеством запросов я не замечал. Наверно потому что в УФ ПГ тоже часто отказывается работать. Соединения со срезами, по два полных соединения в запросе и т.д. Последние конфигурации для РФ вроде хороши, но локализованные решения или сильно отстают, или сделаны некачественно. Поэтому для меня нет такой аналоги с формами и не будет никогда.
Aleksey81; +1 Ответить
6. insurgut 197 15.12.18 08:36 Сейчас в теме
Делается уже на автомате, когда в плане энергосбережения ставишь Высокая производительность, чтобы компьютер не засыпал.
7. PerlAmutor 45 15.12.18 08:44 Сейчас в теме
На всякий случай, если кто-то попал сюда в поисках решения с производительностью сервера кидаю ссылку на ИТС, где упоминается в том числе и режим повышенной производительности: https://its.1c.ru/db/metod8dev/content/5904/hdoc (информация по ссылке не полная, остальные твики в гугле).
WellMaster; h00k; Aleksey81; +3 Ответить
8. Aleksey81 936 15.12.18 08:57 Сейчас в теме
(7) Спасибо, добавлю в публикацию, если вы не против
9. PerlAmutor 45 15.12.18 09:28 Сейчас в теме
(8) Я только ЗА.
Если кто-нибудь напишет утилиту или скрипт позволяющий делать подобные настройки на этапе установке сервера 1С в автоматическом режиме, было бы замечательно.
12. Aleksey81 936 15.12.18 10:36 Сейчас в теме
(9) Если кто-нибудь напишет утилиту.... Остальные будут бояться ее запускать... Особенно в эпоху вирусов-шифровальщиков....
13. PerlAmutor 45 15.12.18 10:38 Сейчас в теме
(12) Есть github, пожалуйста, выкладывайте исходники, будем сами собирать.
10. capitan 1248 15.12.18 09:29 Сейчас в теме
Капитан очевидность, приветствую тебя
Надо было для начала стартовать 1С с дискеты, тогда в заголовке можно было написать - Элементарный способ ускорить вашу 1С в миллион раз!
11. Aleksey81 936 15.12.18 09:54 Сейчас в теме
14. maxim_1c 100 15.12.18 22:17 Сейчас в теме
Спасибо автору, наткнулся на публикацию буквально в тот момент, когда у меня выполнялась ресурсозатратная операция. Настроил сервер - сэкономил время.
frkbvfnjh; +1 Ответить
15. CheBurator 3395 16.12.18 00:48 Сейчас в теме
Автор, видимо, или молод или стар настолько, что успел забыть больше чем знал ;-)
про режим энергосбережения лет наверное десять назад еще Павел Баркетов из СофтПоинта подробна на своих очных семинарах и рассказывал и вживую показывал...
https://www.youtube.com/watch?reload=9&v=OXuagO8JrRg
Дмитрий74Чел; vano-ekt; h00k; jONES1979; JohnConnor; +5 Ответить
16. Adilgeriy 21 17.12.18 11:56 Сейчас в теме
ну еще можно базу на диск в памяти положить. еще быстрей. M2 только самсунг 970 pro
19. Vlx 327 17.12.18 13:09 Сейчас в теме
(16)
M2 только самсунг 970 pro

Т.е. не хуже, чем 970. Так следует понимать?
17. Vlx 327 17.12.18 13:06 Сейчас в теме
Может конечно и очевидные вещи. И уже об этом говорилось ранее.
Но я пробовал изменял параметры энергосбережения и не могу сказать, дало мне это изменение какой-то эффект или нет.
Автор провел практическую работу, сделал замеры и говорит, что есть положительный эффект.
Поэтому публикация однозначно +.
rovenko.n; ansonat; frkbvfnjh; +3 Ответить
22. Adilgeriy 21 17.12.18 13:41 Сейчас в теме
(17)да их скорость чтения/записи в 6-8 раз превосходит ssd на sata
18. starik-2005 1942 17.12.18 13:07 Сейчас в теме
Бородатый админ - маст хэв!

Вообще, про режим высокой производительности я пишу в комментариях примерно раз в неделю - до сих пор, оказывается, есть народ, который не знает, почему это 1С (и не только) начинает работать быстрее раза этак в два. Автор, ты-то хоть знаешь, почему?
rovenko.n; +1 Ответить
35. rovenko.n 19.12.18 10:40 Сейчас в теме
(18)А на файловых базах поможет? Часто для скорости приходится что-то тестировать до того, как на сервер обновления загружат.
36. starik-2005 1942 19.12.18 11:17 Сейчас в теме
(35)
А на файловых базах поможет?
Поможет, если алгоритм написан неоптимально. Т.е. процесс обработки данных сменяется процессом получения данных из хранилища. Если такое поведение в алгоритме частое (пример - запрос в цикле), то даже на файловой системе данная операция повысит производительность (хоть и не в два раза). Если же сначала все данные выбираются, потом обрабатываются, потом записываются в систему, то изменения будут не такими большими, но тоже будут - интерфейс начнет реагировать быстрее на действия пользователя.
rovenko.n; +1 Ответить
20. w.r. 459 17.12.18 13:26 Сейчас в теме
Знал про это. Но главное никогда об этом не забывать ) Автору спасибо!
frkbvfnjh; +1 Ответить
21. Ziggurat 47 17.12.18 13:38 Сейчас в теме
Интересная и полезная статья. Новый, достаточно сложный материал изложен грамотно и доходчиво! Автор, огромное спасибо.
23. DarkAn 889 17.12.18 14:42 Сейчас в теме
(0)
купил даже курс "Ускорение и оптимизация систем на 1С:Предприятие 8.3"
. Читая автора сложилось впечатление, что курс только куплен, но не пройден (с домашними заданиями), т.к. в данном курсе о данной настройке так же говориться.

PS Я, про "Этот курс". Спасибо за курс Андрею и всей команде портала за его доступность, как в денежной, так и в интеллектуальной составляющей.
Дмитрий74Чел; Virsy; h00k; +3 Ответить
25. Aleksey81 936 17.12.18 16:27 Сейчас в теме
(23) Вы правы, осилил пока только четверть курса.
24. shard 251 17.12.18 15:37 Сейчас в теме
а где про использование Web сервера для доставки приложения почитать можно?
26. Aleksey81 936 17.12.18 16:32 Сейчас в теме
27. Gilev.Vyacheslav 1834 18.12.18 05:43 Сейчас в теме
А сколько Алексея ждет открытий когда он научится план запроса анализировать, да виртуалку настраивать...
vano-ekt; triviumfan; Aleksey81; +3 Ответить
28. Aleksey81 936 18.12.18 08:24 Сейчас в теме
(27) Сделаю себе это подарком на новый год :)
29. frkbvfnjh 557 18.12.18 09:07 Сейчас в теме
Спасибо за статью! В жизни всегда так - пока сам не разберешься, никто помочь не может, а как разберешься так сразу баян! Никого не слушай, особенно тех кто про баяны поет. Правильно сделал, что статью написал.
KroVladS; unknown181538; saroman; Gorus; ansonat; +5 Ответить
31. Aleksey81 936 18.12.18 12:17 Сейчас в теме
(29) Договорились, экспертов по баянам слушать не буду. Спасибо за добрые слова.
30. F1215 18.12.18 10:20 Сейчас в теме
Спасибо за статью. В принципе все это не раз пережовывалось но здесь хоть читать приятно
32. herfis 281 18.12.18 17:03 Сейчас в теме
Мастерство заголовка, блин.
"Где можно натупить с настройкой сервера и просесть в производительности в два-три раза" - было бы ближе к телу.
2PRV; Дмитрий74Чел; +2 Ответить
33. VasilVtoroy 19.12.18 09:11 Сейчас в теме
На всякий случай. M2 это форм-фактор диска(даже семейство форм-факторов), а sata - протокол. Есть, и не мало, ssd в форм-факторе m2, которые работают по протоколу sata.

Более быстрый протокол называется NVM.
34. _Enot_ 19.12.18 09:57 Сейчас в теме
Спасибо за статью.Полезная. Возьму на вооружение
37. Созинов 20.12.18 07:40 Сейчас в теме
В принципе все очевидно, но напомнить никогда не мешает. Статья кратенько так написана, в самый раз чтобы вспомнить. Автору плюс. По PG vs MS можно подробнее, где и что написано, кто проводил замеры?
38. Aleksey81 936 20.12.18 20:57 Сейчас в теме
Замеры проводил я лично. А где написано - искать надо. Год назад это очень внимательно изучал. Теорию уже не найду, а практику - очень легко воспроизвести самому.
40. user1090556 29.01.19 09:42 Сейчас в теме
что подразумевается под " - КЭШ сервера 1С (в реестре отредактировать команду запуска сервера)"?
41. Aleksey81 936 29.01.19 19:59 Сейчас в теме
(40) Это значит, что в реестре нужно найти ветку [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent] в которой лежит команда запуска сервера ImagePath = "C:\Program Files (x86)\1cv8\8.3.13.1644\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files (x86)\1cv8\srvinfo" -debug
Кстати именно в ней мы ставим флаг -debug.
Посмотрев внимательно на эту строку увидим такой поддекст: -d "C:\Program Files (x86)\1cv8\srvinfo". В этом каталоге вы как раз и найдете "серверный" кэш всех использовавшихся вами баз.
user1090556; +1 Ответить
42. user1090556 30.01.19 04:49 Сейчас в теме
(41) обычно debug я ставлю в такой последовательности, и отладка работает: "C:\Program Files\1cv8\8.3.13.1644\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -debug -d "C:\Program Files\1cv8\srvinfo"
Имеется ввиду что кэш можно перенести на другой диск ускорив тем самым работу сервера?
43. Aleksey81 936 30.01.19 09:06 Сейчас в теме
(42) Сам по себе перенос кэша имеет смысл только если системный диск перегружен, а диск на который переносите - способен работать в разы быстрее.. Что касается порядка команд - это едва ли имеет значение.
Оставьте свое сообщение