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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

22 Comments

  1. h00k

    Документы уже должны быть в базе? Какое количество документов участвует в расчете индекса производительности?

    А если база новая, то документы придется создать в ручную?

    И кстати, вы видели конфигурацию для нагрузочного тестирования серверов от В. Гилева ?

    Reply
  2. Gilev.Vyacheslav

    для нескольких пользователей 1С, особенно для ЗУП может бесплатный экспресс подойти, вовсе не обязательно мучить себя постгре )

    Reply
  3. smallbuk

    (1) h00k, подгоняю производительность под живую базу. использую один тип документов. тот, который обрабатывает максимально тяжелые запросы (в моем случае это реализация, у кого-то может быть тяжелым другой тип документов). задача — максимально нагрузить СУБД.

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

    Васильков А.Ю. «Работа с PostgreSQL настройка и масштабирование», стр.8: «…т.к. оптимальные настройки конкретной установки PostgreSQL будут определяться:

    — конфигурацией компьютера

    — объемом и типом данных, хранящихся в базе

    — отношением числа запросов на чтение и на запись…»

    (2) Gilev.Vyacheslav, согласен. может. но опять же, рано или поздно база уткнется в ограничения экспресса и вопрос вспыхнет с новой силой: «Платить или шаманить?»

    Reply
  4. Gilev.Vyacheslav

    (3) даю хинт — поставить компании 180 триальную версию, этого времени достаточно осознать что платить надо

    и вообще что бесплатность постгреса это лишь взять «в долг» и расплачиваться весь период эксплутации в виде различных расходов, которые бы не понесли со скулем

    Reply
  5. smallbuk

    (4) Gilev.Vyacheslav, хе… дык уже третий год «есть намерения приобрести коробочку»… совестно уже стало, да и уходить решил. вот и решил за собой грехи отмолить.

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

    а вот про это можно поподробнее?

    Reply
  6. h00k

    (5)

    дык уже третий год «есть намерения приобрести коробочку»

    У DB2 ограничений меньше чем у MS SQL Express, настройки проще чем у PostGree, а производительность не хуже MS SQL.

    Reply
  7. h00k

    (5)

    а вот про это можно поподробнее?

    Хоть вопрос и не мне, но попробую расшифровать:

    Посчитайте сколько времени вы в итоге потратите на танцы с «бубном» вокруг бесплатной PostGree для получения производительности сопоставимой с MS SQL на типовых конфигурациях.

    Посчитайте сколько времени в итоге будет потрачено на настройки регламентов и обслуживание БД.

    А потом умножьте это время на стоимость часа вашей работы.

    В большинстве случаев стоимость владения «бесплатным» ПО превосходит первоначальные затраты на приобретение плюс стоимость владения на аналогичный коммерческий продукт.

    Reply
  8. smallbuk

    (7) h00k, спорить не буду. в чем то даже соглашусь. однако, за 3 года не смог раскрутить шефа на коробку скуля. «ачо? работает? сколько? 180 дней? давай через полгодика и обсудим этот вопрос. ща с деньгами туго, должен понимать…» т.ч. пусть тот, кто займет мой трон воюет дальше. свою совесть перед законом очистил.

    а по времени… база, сейчас весит что-то в районе 80гб. настроика постгре заняла около 6 часов.

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

    про DB ничего сказать не могу, не трогал. возможно, в будущем, от скуки поиграюсь..

    хотя статистика, которая как известно знает все не очень то и любезна к DB

    Кто использует СУБД отличное от SQL

    Reply
  9. h00k

    (8)

    теста гилева: скуль 18.8, постгре 15,38.

    Печально. Когда результат теста ниже 30, по моим субъективным ощущениям и статистике жалоб, для пользователей работа превращается в пытку ожиданием.

    На своих серверах стараюсь поддерживать индекс выше 50. Если настройка/ обновление индекс уводят ниже и не дают заметного прироста в многопользовательском режиме — то откатываю назад.

    Конечно многое зависит от «железа» и политики руководства. Если руководитель готов оплачивать сотрудникам «кофе-брейк» на время формирования отчета, то можно и не дергаться…

    Reply
  10. smallbuk

    (9) h00k, было время, бился за финансирование на модернизацию железа и софта, устал, сдался. народ поначалу шумел, теперь тоже смирились… хорошо хоть от пиратского софта получилось избавиться.

    Эх… Где же ты, мой мудрый, заботливый и щедрый шеф Шеф…

    Reply
  11. Gilev.Vyacheslav

    (5)

    дык уже третий год «есть намерения приобрести коробочку»… совестно уже стало, да и уходить решил. вот и решил за собой грехи отмолить.

    мое сугубо личное мнение (тем более что сам руководитель) — если руководство не хочет легализовывать софт, то имхо это не повод менять субд, гораздо дальновидней убедить руководство заплатить за уже полученный хороший результат, нежели ухудшать работу системы или делать ее менее предсказуемой. В конце концов получите бумагу от директора что вы его проинформировали о возможных проблемах с лицензиями и ответственность он берет на себя. У майкрософта есть покупка софта в рассрочку. Сейчас можно брать софт и среду в аренду. Было бы желание решить проблему…

    Reply
  12. alex_sh2008

    (8) Пользователи сами вынудят руководство переходить на более мощные решения SQL, вам надо только набраться терпения, и ждать, рано или поздно Postgree исчерпает себя, ну или не исчерпает.

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

    Где то год назад отстраивали Postgree на linux, без особых заморочек на 1С 300 пользователей работали, на Windows даже пробовать не стали, за ранее предвидели результат.

    Reply
  14. h00k

    (13) alex_sh2008,

    без особых заморочек на 1С 300 пользователей

    Какая из типовых конфигураций крутилась на том сервере?

    Reply
  15. alex_sh2008

    (14) h00k, Торговля

    Reply
  16. capitan

    (4) Gilev.Vyacheslav, 180 триальная версия — это отличный маркетинговый ход. Понятно, через полгода с рабочей базы уже не так просто будет соскочить. Переустанавливать сервер — это день простоя фирмы. А вот раз Вы ратуете за полное лицензирование — посчитайте экономическое обоснование. Нужно 1 лицензию сервера + 1 лицензию SQL сервера + Х — лицензий клиентских. И не факт, что удастся отделаться только клиентами SQL, т.е. еще Х — лицензий клиентских. После всего этого еще нужно будет отчитываться по лицензированию сети. Раз есть Х — лицензий клиентских, значит должно быть Х — лицензий клиентских ОС. А по условиям лицензирования Microsoft имеет право запросить эту информацию. И возникает вопрос, раз уж мы все так по честному считаем — это ведь стоимость еще одного сервера, или можно под постгри собрать в три раза мощнее сервер. Замерьте производительность мелкомягких и постги, когда у постгри сервер в два раза быстрее, тогда тесты производительности покажут совсем другие результаты. Более того — железо постоянно дешевеет (закон Мура) и в принципе его можно наращивать с ростом базы и пользователей.

    Понятно, что когда то база упрется в ограничения постгри. Но не факт, что к этому же времени SQL не упрется в аппаратные ограничения.

    Так что я бы наоборот советовал при условии лицензирования стартовать с постгри.

    Reply
  17. h00k

    (16) capitan,

    А вот раз Вы ратуете за полное лицензирование — посчитайте экономическое обоснование.

    Экономическое обоснование простое, если у бизнеса нет денег на ПО, то и нормального специалиста такой бизнес себе позволить не может.

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

    Reply
  18. alex_sh2008

    (17) h00k,

    то и нормального специалиста такой бизнес себе позволить не может.

    Я работаю с организацией которая не можете себе позволить хорошего специалиста в штат, но когда заходит речь об оборудовании или вопросов закупки ПО, вопросов вообще не возникает, в результате надобность в штатном специалисте отпадает, оборудование и по закупается из расчета автономной работы 24/7 и лишь редким вмешательство внешнего специалиста.

    Reply
  19. capitan

    (17) h00k, каждая покупка должна быть экономически обоснованной.

    И ее обоснование должно быть просчитано как минимум в двух вариантах.

    А не исходить из того, что мы крутая контора и можем себе позволить потратить миллион миллионов на ПО и платить нормальную зарплату админу, смысл которого сводится к нажатию кнопки Setup.

    Для организации в 50-100 пользователей с набором баз УТ, ЗУП, БП на постгри получите за одну и ту же сумму денег более быстрое решение.

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

    Мелкомягкие приучили трудящихся к тому, что нажал инсталл и пошел пить пиво кофе. В результате Windows 2012 essentials приходит из коробки с планом производительности сбалансированный и с ним же и остается в работе. 50% мощности сервера вообще не используются.

    К тому же никто здесь не припомнил о двух вещах: Oracle всяко лучше MSQL будет и рано или поздно под нее 1С оптимизируется.

    И второе — вирусы. Мелкомягких ломали, ломают и будут ломать.

    Вообще не делал бы на них больших ставок. Нынешняя команда успешно провалила мобильный рынок, windows 8, нокия, скайп. Сейчас все форумы забиты — не нравится последняя серверная линейка. То есть остался последний шажок и привет.

    Reply
  20. capitan

    Кому интересны мировые тренды и сравнения DBMS — есть отличный ресурс db-engines.com

    У нас правда несколько другой путь.

    США ввели ограничения на продажу в Россию программного обеспечения. И этим они собираются подорвать экономику страны, в которой покупка ПО рассматривается как акт благотворительности?

    Reply
  21. smallbuk
    мое сугубо личное мнение (тем более что сам руководитель) — если руководство не хочет легализовывать софт, то имхо это не повод менять субд, гораздо дальновидней убедить руководство заплатить за уже полученный хороший результат, нежели ухудшать работу системы или делать ее менее предсказуемой. В конце концов получите бумагу от директора что вы его проинформировали о возможных проблемах с лицензиями и ответственность он берет на себя.

    Прошло больше года, как ушел с этого производства.

    У них есть намерения закупить SQL 2012 + клиентские лицензии.

    Сам видел счет на оплату. Сам ставил SQL 2012 evaluation

    Reply
  22. smallbuk

    Два года как ушел…

    «вьюнош» не смог переустановить 180Триал….

    Завод (молочное производство, скоропортящийся продукт!!!) стоял 4!!!!!!!! дня

    Поржал, выпил. закурил…

    А они так и купили:

    1. Новый сервер (старый чем не устраивал с 96гб 1800Мгц озу — ?)

    2. скуль

    3. клиентские лицензии (какие не знаю, но сумма сравнима с продукцией автоваза)

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

    Вывод: Блоху англицкую подковать можно. Да вот не благодарное это дело…

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *