Тест производительности 1С

22.04.15

База данных - HighLoad оптимизация

Глубоко убежден, что организациям с числом активных пользователей 1с большим чем 10, крайне необходимо уходить от файловых баз. И тут возникает дилемма: Какую СУБД выбрать? SQL или Postgre?
Скуль хорош. Очень хорош. Практически "из коробки" он обеспечит превосходную производительность. Но стоит нереальных денег. Очень хорош... Но дорог... Очень дорог...
С Постгри все сложнее. "Из коробки" мы получаем конструктор "очумелые ручки". Чтобы насладиться более-менее приемлемым результатом, придется попотеть. Зато "халява, сэр".

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ОценкаПроизводительности.epf
.epf 9,98Kb
19
19 Скачать (1 SM) Купить за 1 850 руб.

Привел бы следующую аналогию: 
 - Скуль похож на мою микроволновку. Стильная, красивая, удобная, очень много чего умеет. Да вот беда, я то, лапоть сермяжный, только обед в ней грею. Остальной функционал наверное и не приведется испытать.

- Постгри - это лист металла. Готовить еду на нем можно, но не удобно. Но если поработать молотком, то можно получить удобную сковородку, максимально отвечающую заданному функционалу.

К сожалению, методики настройки Постгри, которые можно отыскать в сети, можно свести к одной фразе: "играйтесь с настройками под вашу базу и техническое обеспечение".

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

Встроенный механизм замера производительности? Как-то все приблизительно...

Механизм замера в конфигураторе? По мне, так "многа букофф". Для поставленной задачи избыточная информация...

Вот и родилась идея представленной обработки.

Логика работы проста:

1. Отбираем какой-нибудь "тяжелый" документ (вроде Реализации товаров) за выбранный период.

2. Обработка отобранные документы перепроводит.

3. На выходе получаем продолжительность операции.

4. Меняем конфигурацию Постгри.

5. Повторяем ту же самую операцию.

6. Анализируем результат.

В итоге, после долгих часов работы, получим качественную, шуструю бесплатную СУБД мало чем отличающуюся от своего платного аналога.

Код открыт для редактирования.

Тестировалось на 1С 8.2 (8.2.19.121), УПП (1.3.63.2)

Настройка PostgreSQL

См. также

HighLoad оптимизация Технологический журнал Системный администратор Программист Бесплатно (free)

Обсудим поиск и разбор причин длительных серверных вызовов CALL, SCALL.

24.06.2024    6029    ivanov660    12    

56

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Метод очень медленно работает, когда параметр приемник содержит намного меньше свойств, чем источник.

06.06.2024    10470    Evg-Lylyk    61    

45

HighLoad оптимизация Программист Платформа 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Анализ простого плана запроса. Оптимизация нагрузки на ЦП сервера СУБД используя типовые индексы.

13.03.2024    5656    spyke    28    

49

HighLoad оптимизация Программист Платформа 1С v8.3 Бесплатно (free)

Оказывается, в типовых конфигурациях 1С есть, что улучшить!

13.03.2024    8366    vasilev2015    20    

43

HighLoad оптимизация Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Обработка для простого и удобного анализа настроек, нагрузки и проблем с SQL сервером с упором на использование оного для 1С. Анализ текущих запросов на sql, ожиданий, конвертация запроса в 1С и рекомендации, где может тормозить.

2 стартмани

15.02.2024    13440    268    ZAOSTG    87    

116

HighLoad оптимизация Системный администратор Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Принимать, хранить и анализировать показания счетчиков (метрики) в базе 1С? Почему бы нет? Но это решение быстро привело к проблемам с производительностью при попытках построить какую-то более-менее сложную аналитику. Переход на PostgresSQL только временно решил проблему, т.к. количество записей уже исчислялось десятками миллионов и что-то сложное вычислить на таких объемах за разумное время становилось все сложнее. Кое-что уже практически невозможно. А что будет с производительностью через пару лет - представить страшно. Надо что-то предпринимать! В этой статье поделюсь своим первым опытом применения СУБД Clickhouse от Яндекс. Как работает, что может, как на нее планирую (если планирую) переходить, сравнение скорости работы, оценка производительности через пару лет, пример работы из 1С. Все это приправлено текстами запросов, кодом, алгоритмами выполненных действий и преподнесено вам для ознакомления в этой статье.

1 стартмани

24.01.2024    6427    glassman    20    

42

HighLoad оптимизация Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Встал вопрос: как быстро удалить строки из ТЗ? Рассмотрел пять вариантов реализации этой задачи. Сравнил их друг с другом на разных объёмах данных с разным процентом удаляемых строк. Также сравнил с выгрузкой с отбором по структуре.

09.01.2024    17390    doom2good    49    

71
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. h00k 51 22.04.15 13:31 Сейчас в теме
Документы уже должны быть в базе? Какое количество документов участвует в расчете индекса производительности?
А если база новая, то документы придется создать в ручную?
И кстати, вы видели конфигурацию для нагрузочного тестирования серверов от В. Гилева ?
3. smallbuk 34 22.04.15 13:58 Сейчас в теме
(1) h00k, подгоняю производительность под живую базу. использую один тип документов. тот, который обрабатывает максимально тяжелые запросы (в моем случае это реализация, у кого-то может быть тяжелым другой тип документов). задача - максимально нагрузить СУБД.
для новой базы вполне достаточно теста гилева. а вот для существующей и довольно массивной базы надо оценивать производительность реальной базы
Васильков А.Ю. "Работа с PostgreSQL настройка и масштабирование", стр.8: "...т.к. оптимальные настройки конкретной установки PostgreSQL будут определяться:
- конфигурацией компьютера
- объемом и типом данных, хранящихся в базе
- отношением числа запросов на чтение и на запись..."

(2) Gilev.Vyacheslav, согласен. может. но опять же, рано или поздно база уткнется в ограничения экспресса и вопрос вспыхнет с новой силой: "Платить или шаманить?"
4. Gilev.Vyacheslav 1917 22.04.15 14:08 Сейчас в теме
(3) даю хинт - поставить компании 180 триальную версию, этого времени достаточно осознать что платить надо
и вообще что бесплатность постгреса это лишь взять "в долг" и расплачиваться весь период эксплутации в виде различных расходов, которые бы не понесли со скулем
WizaXxX; h00k; +2 Ответить
5. smallbuk 34 22.04.15 14:12 Сейчас в теме
(4) Gilev.Vyacheslav, хе... дык уже третий год "есть намерения приобрести коробочку"... совестно уже стало, да и уходить решил. вот и решил за собой грехи отмолить.

расплачиваться весь период эксплутации в виде различных расходов, которые

а вот про это можно поподробнее?
6. h00k 51 22.04.15 14:37 Сейчас в теме
(5)
дык уже третий год "есть намерения приобрести коробочку"

У DB2 ограничений меньше чем у MS SQL Express, настройки проще чем у PostGree, а производительность не хуже MS SQL.
7. h00k 51 22.04.15 14:45 Сейчас в теме
(5)
а вот про это можно поподробнее?

Хоть вопрос и не мне, но попробую расшифровать:
Посчитайте сколько времени вы в итоге потратите на танцы с "бубном" вокруг бесплатной PostGree для получения производительности сопоставимой с MS SQL на типовых конфигурациях.
Посчитайте сколько времени в итоге будет потрачено на настройки регламентов и обслуживание БД.
А потом умножьте это время на стоимость часа вашей работы.
В большинстве случаев стоимость владения "бесплатным" ПО превосходит первоначальные затраты на приобретение плюс стоимость владения на аналогичный коммерческий продукт.
Gilev.Vyacheslav; +1 Ответить
8. smallbuk 34 22.04.15 15:02 Сейчас в теме
(7) h00k, спорить не буду. в чем то даже соглашусь. однако, за 3 года не смог раскрутить шефа на коробку скуля. "ачо? работает? сколько? 180 дней? давай через полгодика и обсудим этот вопрос. ща с деньгами туго, должен понимать..." т.ч. пусть тот, кто займет мой трон воюет дальше. свою совесть перед законом очистил.

а по времени... база, сейчас весит что-то в районе 80гб. настроика постгре заняла около 6 часов.
для интереса сравнил результаты теста гилева: скуль 18.8, постгре 15,38. считаю результат на текущем железе вполне достойным. во всяком случае, жалоб от народа за почти день работы не поступало.

про DB ничего сказать не могу, не трогал. возможно, в будущем, от скуки поиграюсь..
хотя статистика, которая как известно знает все не очень то и любезна к DB
Кто использует СУБД отличное от SQL
9. h00k 51 22.04.15 15:14 Сейчас в теме
(8)
теста гилева: скуль 18.8, постгре 15,38.

Печально. Когда результат теста ниже 30, по моим субъективным ощущениям и статистике жалоб, для пользователей работа превращается в пытку ожиданием.
На своих серверах стараюсь поддерживать индекс выше 50. Если настройка/ обновление индекс уводят ниже и не дают заметного прироста в многопользовательском режиме - то откатываю назад.
Конечно многое зависит от "железа" и политики руководства. Если руководитель готов оплачивать сотрудникам "кофе-брейк" на время формирования отчета, то можно и не дергаться...
10. smallbuk 34 22.04.15 15:27 Сейчас в теме
(9) h00k, было время, бился за финансирование на модернизацию железа и софта, устал, сдался. народ поначалу шумел, теперь тоже смирились... хорошо хоть от пиратского софта получилось избавиться.
Эх... Где же ты, мой мудрый, заботливый и щедрый шеф Шеф...
12. alex_sh2008 5 22.04.15 16:20 Сейчас в теме
(8) Пользователи сами вынудят руководство переходить на более мощные решения SQL, вам надо только набраться терпения, и ждать, рано или поздно Postgree исчерпает себя, ну или не исчерпает.
smallbuk; +1 Ответить
11. Gilev.Vyacheslav 1917 22.04.15 16:09 Сейчас в теме
(5)
дык уже третий год "есть намерения приобрести коробочку"... совестно уже стало, да и уходить решил. вот и решил за собой грехи отмолить.
мое сугубо личное мнение (тем более что сам руководитель) - если руководство не хочет легализовывать софт, то имхо это не повод менять субд, гораздо дальновидней убедить руководство заплатить за уже полученный хороший результат, нежели ухудшать работу системы или делать ее менее предсказуемой. В конце концов получите бумагу от директора что вы его проинформировали о возможных проблемах с лицензиями и ответственность он берет на себя. У майкрософта есть покупка софта в рассрочку. Сейчас можно брать софт и среду в аренду. Было бы желание решить проблему...

16. capitan 2594 23.04.15 00:21 Сейчас в теме
(4) Gilev.Vyacheslav, 180 триальная версия - это отличный маркетинговый ход. Понятно, через полгода с рабочей базы уже не так просто будет соскочить. Переустанавливать сервер - это день простоя фирмы. А вот раз Вы ратуете за полное лицензирование - посчитайте экономическое обоснование. Нужно 1 лицензию сервера + 1 лицензию SQL сервера + Х - лицензий клиентских. И не факт, что удастся отделаться только клиентами SQL, т.е. еще Х - лицензий клиентских. После всего этого еще нужно будет отчитываться по лицензированию сети. Раз есть Х - лицензий клиентских, значит должно быть Х - лицензий клиентских ОС. А по условиям лицензирования Microsoft имеет право запросить эту информацию. И возникает вопрос, раз уж мы все так по честному считаем - это ведь стоимость еще одного сервера, или можно под постгри собрать в три раза мощнее сервер. Замерьте производительность мелкомягких и постги, когда у постгри сервер в два раза быстрее, тогда тесты производительности покажут совсем другие результаты. Более того - железо постоянно дешевеет (закон Мура) и в принципе его можно наращивать с ростом базы и пользователей.
Понятно, что когда то база упрется в ограничения постгри. Но не факт, что к этому же времени SQL не упрется в аппаратные ограничения.
Так что я бы наоборот советовал при условии лицензирования стартовать с постгри.
17. h00k 51 23.04.15 05:02 Сейчас в теме
(16) capitan,
А вот раз Вы ратуете за полное лицензирование - посчитайте экономическое обоснование.

Экономическое обоснование простое, если у бизнеса нет денег на ПО, то и нормального специалиста такой бизнес себе позволить не может.
Психологическое обоснование, если бизнес не считает нужным платить за ПО, то на нормальную зарплату в такой организации можно не рассчитывать, или быть готовым к тому, что в один прекрасный момент вы ее не получите.
18. alex_sh2008 5 23.04.15 08:25 Сейчас в теме
(17) h00k,
то и нормального специалиста такой бизнес себе позволить не может.

Я работаю с организацией которая не можете себе позволить хорошего специалиста в штат, но когда заходит речь об оборудовании или вопросов закупки ПО, вопросов вообще не возникает, в результате надобность в штатном специалисте отпадает, оборудование и по закупается из расчета автономной работы 24/7 и лишь редким вмешательство внешнего специалиста.
19. capitan 2594 23.04.15 08:54 Сейчас в теме
(17) h00k, каждая покупка должна быть экономически обоснованной.
И ее обоснование должно быть просчитано как минимум в двух вариантах.
А не исходить из того, что мы крутая контора и можем себе позволить потратить миллион миллионов на ПО и платить нормальную зарплату админу, смысл которого сводится к нажатию кнопки Setup.
Для организации в 50-100 пользователей с набором баз УТ, ЗУП, БП на постгри получите за одну и ту же сумму денег более быстрое решение.
А то что постгри надо настраивать, я бы в этом скорее плюс видел чем минус.
Мелкомягкие приучили трудящихся к тому, что нажал инсталл и пошел пить пиво кофе. В результате Windows 2012 essentials приходит из коробки с планом производительности сбалансированный и с ним же и остается в работе. 50% мощности сервера вообще не используются.
К тому же никто здесь не припомнил о двух вещах: Oracle всяко лучше MSQL будет и рано или поздно под нее 1С оптимизируется.
И второе - вирусы. Мелкомягких ломали, ломают и будут ломать.
Вообще не делал бы на них больших ставок. Нынешняя команда успешно провалила мобильный рынок, windows 8, нокия, скайп. Сейчас все форумы забиты - не нравится последняя серверная линейка. То есть остался последний шажок и привет.
2. Gilev.Vyacheslav 1917 22.04.15 13:40 Сейчас в теме
для нескольких пользователей 1С, особенно для ЗУП может бесплатный экспресс подойти, вовсе не обязательно мучить себя постгре )
zinal; theshadowco; +2 Ответить
13. alex_sh2008 5 22.04.15 16:29 Сейчас в теме
Глубоко убежден, что организациям с числом активных пользователей 1с большим чем 10, крайне необходимо уходить от файловых баз. И тут возникает дилемма: Какую СУБД выбрать? SQL или Postgre?

Где то год назад отстраивали Postgree на linux, без особых заморочек на 1С 300 пользователей работали, на Windows даже пробовать не стали, за ранее предвидели результат.
14. h00k 51 22.04.15 18:39 Сейчас в теме
(13) alex_sh2008,
без особых заморочек на 1С 300 пользователей

Какая из типовых конфигураций крутилась на том сервере?
15. alex_sh2008 5 22.04.15 19:46 Сейчас в теме
20. capitan 2594 23.04.15 09:07 Сейчас в теме
Кому интересны мировые тренды и сравнения DBMS - есть отличный ресурс db-engines.com
У нас правда несколько другой путь.
США ввели ограничения на продажу в Россию программного обеспечения. И этим они собираются подорвать экономику страны, в которой покупка ПО рассматривается как акт благотворительности?
21. smallbuk 34 13.09.16 19:49 Сейчас в теме
мое сугубо личное мнение (тем более что сам руководитель) - если руководство не хочет легализовывать софт, то имхо это не повод менять субд, гораздо дальновидней убедить руководство заплатить за уже полученный хороший результат, нежели ухудшать работу системы или делать ее менее предсказуемой. В конце концов получите бумагу от директора что вы его проинформировали о возможных проблемах с лицензиями и ответственность он берет на себя.



Прошло больше года, как ушел с этого производства.
У них есть намерения закупить SQL 2012 + клиентские лицензии.

Сам видел счет на оплату. Сам ставил SQL 2012 evaluation
22. smallbuk 34 11.08.17 21:59 Сейчас в теме
Два года как ушел...
"вьюнош" не смог переустановить 180Триал....
Завод (молочное производство, скоропортящийся продукт!!!) стоял 4!!!!!!!! дня
Поржал, выпил. закурил...

А они так и купили:
1. Новый сервер (старый чем не устраивал с 96гб 1800Мгц озу - ?)
2. скуль
3. клиентские лицензии (какие не знаю, но сумма сравнима с продукцией автоваза)


Сейчас объяснял ему преимущества Свертки базы. Он не проникся. В конце разговора он спросил: "Почему все-таки база тормозит?" (База УПП Молокозавод с 2014г.) Я положил трубку.

Вывод: Блоху англицкую подковать можно. Да вот не благодарное это дело...
skyadmin; +1 Ответить
Оставьте свое сообщение