Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана
Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.
Краткая информация о СУБД Vertica
MPP
Facebook использует Vertica для своих внутренних аналитических задач. 2 года назад там был кластер из сотен серверов и десятки петабайт данных… Я не нашёл актуальной информации об этом проекте, может кто-то поделится достоверной ссылкой в комментариях.
Vertica была разработана командой под руководством Майкла Стоунбрейкера (изначально называлась C-Store). Написана была с нуля специально для аналитических задач с учётом большого предшествующего опыта Майкла (Ingres, Postgres, Informix и другие СУБД). Для сравнения подходов можно вспомнить конкурента Vertica – Greenplum (сейчас принадлежит компании Dell), это MPP СУБД, которая базируется на доработанной БД PostgreSQL.
В 2016 году Hewlett-Packard Enterprise (HPE) продала свой софтверный бизнес вместе с Vertica компании Micro Focus
Как это отразится на развитии Vertica пока не понятно, но я очень надеюсь, что данная сделка не погубит отличный продукт.
В контексте сравнения с Exasol важно отметить, что Vertica не является in-memory базой данных и более того, в Vertica нет буферного. То есть БД предназначена в первую очередь для обработки объёмов данных, которые значительно превосходят размер оперативной памяти, а на отказе от поддержки буферного КЭШа можно сэкономить существенную часть ресурсов сервера
В то же время, Vertica эффективно использует возможности файловой системы и в частности кэширование.
Полезные ссылки о Vertica
- Обзор архитектуры и основных возможностей;
- Больше всех делится практическим опытом на русском языке, наверное, Алексей Константинов ascrus. Спасибо ему за это, рекомендую все его публикации на Хабре и в блоге;
- Вводная статья и практический опыт от alexzaitsev;
- Выбор методологии для хранилища на Vertica от Николая Голова azathot. Интересный и неожиданный для Vertica выбор Anchor Modeling (6 NF). Николай нередко делится практическим опытом на различных мероприятиях, например, на Higload++ или HPE конференции;
- Официальная on-line документация с множеством примеров;
- Краткая статья о том, чего нет в Vertica, но что многие ищут.
аналитических БД
Нагрузочное тестирование
Интегральный подход характеризуется оценкой производительности решения в целом, как его программной, так и аппаратной частей. При этом может использоваться как бизнес-приложение, которое будет использовано в конечном решении, так и некоторые модельные приложения, эмулирующие некоторые стандартные бизнес-процессы и нагрузки.
Тесты TPC и другие универсальные тесты позволяют выбрать наиболее перспективные платформы и сравнивать между собой предложения различных производителей, но являются лишь справочной информацией, не учитывающей специфики бизнеса. Специализированные тесты позволяют точнее выбрать конкретную модель сервера и его конфигурацию. Однако наиболее обоснованные решения принима ются только на основе результатов проведения нагрузочных тестов. Только они позволяют оптимально сконфигурировать выбранную серверную платформу и провести ее настройку на максимальную производительность.
Результаты[править]
Производительность pgbench TPC-B в смешанной нагрузке и только в чтенииправить
Первый график соответствует запуску pgbench как с операциями чтения, так и записи, второй график соответствует тесту только с операциями чтения, при которых дисковая система вообще не задействуется.
Для всех тестов число IOPS колебалось между 1400 и 2400, а типичное было около 2000 IOPS. Хотя производительность в процессе выполнения теста в IOPS могла колебаться на десятки процентов, колебаний в десятки, что бывает на бытовых SSD при заполнении SLC-кеша, не было.
Производительность процессора в sysbenchправить
Аналогично есть излом прямой на числе физических ядер и совершенно одинаковая разница в производительности с включением Hyper-Threading в 63%.
Результаты тестирования чтения и записи[править]
Случайные чтение/запись с 1 потокомправить
Производительность на запись выше, чем производительность на чтение (кеш контроллера — 512 Мб). И это при том, что чтение фактически идет из ОЗУ хоста Windows Server.
С увеличением доли чтения, падает число IOPS с 17 тыс. до 8 тыс., а пропускная способность с 270 до 120 МБ/c.
При этом производительность может испытывать случайные просадки, есть колебания.
Средняя латентность растёт с ростом доли чтения с 0.08 мс до 0.12 мс, 95 перцентиль колеблется от 0.10 до 0.20 мс. Максимальная задержка растет с долей числа чтений до 142 мс.
Случайные чтение/запись с 20 потокамиправить
Увеличение числа потоков до числа физических ядер увеличивает производительность и в IOPS и в пропускной способности.
Но также увеличивается и латентность.
Случайные чтение/запись с 38 потокамиправить
Увеличение числа потоков до доступных в гостевой ОС числе ядер еще немного увеличивает производительность, но с еще худшей латентностью.
Последовательная записьправить
В последовательной записи нет влияния кеша хоста на чтение, здесь демонстрируются возможности именно работы с дисками.
В результате максимальный IOPS достигается при одном потоке в 27 тыс. IOPS и с увеличением числа потоков производительность быстро падает до 3 тыс. IOPS.
Обычно SSD любят, когда в них пишут с большой очередью, в чем дело? Возможно в переключении контекста или в том, что одновременный доступ не любит контроллер.
Последовательное чтениеправить
Последовательное чтение фактически ведется не с диска, а с ОЗУ хоста, поэтому достигается пропускная способность в 1.8 ГБ/c. Также наблюдается рост латентности с ростом числа потоков.
Тестовое окружение[править]
2 процессора Xeon E5-2690v2 (в каждом 10 ядер, 20 потоков). В сумме 20 ядер и 40 HT-потоков частотой 3 ГГц и 3.6 ГГц TurboBust.
Виртуальная машина CentOS 8 x64 под управлением Hyper-V в Windows Server 2012 (первое поколение ВМ).
ОЗУ на сервере 128 ГБ, но ВМ доступно 64 ГБ.
vCPU: 38 шт.
В ОС запись без подтверждения отключена.
Конфигурация PostgreSQLправить
max_connections = 100 shared_buffers = 8GB effective_cache_size = 24GB maintenance_work_mem = 2GB checkpoint_completion_target = 0.7 wal_buffers = 16MB default_statistics_target = 100 random_page_cost = 1.1 effective_io_concurrency = 200 work_mem = 20971kB min_wal_size = 1GB max_wal_size = 4GB max_worker_processes = 38 max_parallel_workers_per_gather = 4 max_parallel_workers = 38 max_parallel_maintenance_workers = 4
Классификация TPC-A-local Throughput / TPC-1C-GILV-A
Тест относится к разделу универсальных интегральных кроссплатформенных тестов. Даже более того, он применим для файлового и клиент-серверного вариантов эксплуатации 1С:Предприятие. Тест работает для всех СУБД, поддерживаемых 1С.
Универсальность позволяет делать обобщенную оценку производительности не привязываясь к конкретной типовой конфигурации платформы.
С другой стороны это означает, что для точных расчетов заказного проекта тест позволяет сделать предварительную оценку перед специализированным нагрузочным тестированием (например с помощью 1С:Тестцентр).
Примечание. Модификация теста «A» означает «автоматическое управлением блокировками». После выхода официальных версий типовых решений от 1С, планируется модифицировать тест для работы в режиме «управляемых блокировок» и обозначить буквой «M».
Предыстория
Обязательной операцией при любом внедрении или изменении существующей информационной системы является оценка необходимого быстродействия системы и планирование необходимых вычислительных ресурсов для ее реализации. В настоящее время не существует точного решения этой задачи в общем виде, и если, несмотря на ее сложность и стоимость, такой алгоритм будет предложен каким-либо производителем, то даже небольшие изменения в аппаратной части, версии программного обеспечения, конфигурации системы или количестве или стандартном поведении пользователей приведут к появлению значительных ошибок. Тем не менее существует достаточное количество способов оценить необходимую для достижения требуемой производительности конфигурацию программного и аппаратного обеспечения. Все эти способы могут применяться в процессе выбора, но потребитель должен понимать их области применения и ограничения.
Большинство существующих методов оценки производительности основывается на том или ином типе тестирования.
Можно выделить два основных типа тестирования: компонентное и интегральное.
При компонентном тестировании проводится тестирование отдельных компонентов решения, начиная от производительности процессоров или подсистем хранения информации до тестирования производительности сервера в целом, но без полезной нагрузки в виде того или иного бизнес-приложения.
Копирование числовых ячеек из 1С в Excel Промо
Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.
Просмотр заблокированных строк в 1С
Ввиду своей деятельности, мне часто приходится рассказывать про различные аспекты оптимизации и в том числе про блокировки.
Очень часто слушатели задают следующие вопросы:
Как посмотреть в реальном времени, какие именно данные сейчас заблокированы?
Как понять, что сейчас заблокировано в терминах 1С?
Если гранулярность блокировки страница, как увидеть, какие данные в ней находятся?
Раньше приходилось отвечать, что инструмента, который показывает все вышеописанное, сейчас просто нет. Но потом мне это надоело, и я решил сделать собственный инструмент, который позволяет ответить на все вышеописанные вопросы.
1 стартмани
25.10.2016
53809
987
Andreynikus
71
Сравнение производительности аналитических СУБД HPE Vertica и Exasol с использованием TPC-H Benchmark +6
- 18.01.17 22:12
•
mkrupenin
•
#319902
•
Хабрахабр
•
•
1900
Oracle, Высокая производительность, SQL, Big Data
Рекомендация: подборка платных и бесплатных курсов Python — https://katalog-kursov.ru/
В данной статье я хочу продолжить тему сравнения баз данных, которые можно использовать для построения хранилища данных (DWH) и аналитики. Ранее я описал результаты тестов для Oracle In-Memory Option и In-Memory RDBMS Exasol
В данной же статье основное внимание будет уделено СУБД Vertica. Для всех описанных тестов использовались tpc-h benchmark на небольшом объёме исходных данных (2 Гб) и конфигурация БД на одном узле
Эти ограничения позволили мне многократно повторить бенчмарк в разных вариациях и с различными настройками. Для выбора аналитической СУБД под конкретный проект призываю читателей проводить испытания на своих кейсах (данные, запросы, оборудование и другие особенности).
Очень долго запускается 1С предприятие 7.7 (конфигуратор, монитор, отладчик) Промо
Если у Вас всегда очень долго открывается 1С, заставка висит в течение нескольких минут, зависает при старте предприятия 7.7 и конфигуратор, и монитор, и отладчик, скорее всего, дело в файле 1cv7evt.txt, файл 1cv7evt.txt в подкаталоге Syslog в каталоге базы находится по адресу \\ИмяСервера\ИмяКаталогаБаз\ИмяБазы\SYSLOG\1cv7evt.txt, вернее в размере этого файла. Проблема проявляется в том, что во время запуска 1С предприятия 7.7 и конфигуратора, и монитора, и отладчика заставка висит несколько минут. Отключите пользователей, перенесите файл 1cv7evt.txt в другую папку, и 1С 7.7 будет стартовать очень быстро.
Идея теста TPC-A-local Throughput / TPC-1C-GILV-A
Вы скачиваете с данного сайта файл выгрузки конфигурации (~400 Кб) и загружаете у себя. Если развернете конфигурацию в файловых вариант, то в значительной степени тест будет тестировать связку «CPU вашего компьютера — HDD где лежит база».
Если развернете конфигурацию в клиент-серверный вариант, то преимущественно нагрузке подвергнуться CPU сервера приложений — CPU сервера субд — HDD — сервера субд.
В тесте выполняется интенсивная запись 5000 документов. Глубокого смысла в бизнес-логике кода нет, оцениваться просто условно выбранная за эталон производительность документа Х.
Главная прелесть теста в том, что Вам не надо знать технических подробностей. Тест выполняется сам и сам выдает оценку. К тому же результат кому сообщать Вам тоже не обязательно
Вы можете сравнить производительность нескольких серверов, или одного сервера с разными характеристиками дисковой подсистемы.
Выполняя тест с сервера приложений и с клиента по сети можно понять влиятие сети на участке от клиента до сервера.
Ректальное администрирование: Основы для практикующих системных АДминистраторов
Одной из самых популярных и зарекомендовавших себя методологий системного администрирования является так называемое ректальное. Редкий случай сопровождения и обслуживания информационных систем, инфраструктуры организации обходится без его использования. Зачастую без знания данной методологии сисадминам даже бывает сложно найти работу в сфере ИТ, потому что работодатели, особенно всякие аутсорсинговые ИТ фирмы, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям: практикам ITIL, нормальным ITSM и прочей ерунде.
Обработки для проведения сценарного нагрузочного тестирования на примере конфигурации ЗУП версии 3.1.1.91
Обработки предназначены для проведения сценарного нагрузочного тестирования, включая пример описанного сценария с обработками (epf) — ГлавныйРасчетчик, Кадровик, Расчетчик, Табельщик.
Обработка будет полезна прежде всего тому, кто внедряет решение на базе конфигурации 1С «Зарплата и Управления персоналом» с необходимостью воспроизвести определенный сценарий с заданным количеством пользователей для расчета, а также возможность посмотреть, какая будет при этом нагрузка на ваше оборудование и скорость выполнения операций с учетом блокировок СУБД.
Также это будет интересно тем, кто хочет прощупать, как на практике пользоваться конфигурацией «Тест Центр», входящий в состав пакета 1С:КИП.
2 стартмани
15.09.2017
14321
33
podorojnii_ayu
1
Выводы по pgbench[править]
В целом графики похожи на бенчмарки других компаний, тестировавших PostgreSQL
Но когда смотрите на графики, на которых сотни тысяч tps, обращайте внимание, не идёт ли речь только о чтении (без записи) т.к. при записи в TPC-B число транзакций драматически уменьшается даже на SSD.
- PostgreSQL очень эффективно использует Hyper-Threading: прирост от наличия HT составляет более 60% как в тесте с записью, так и с чтением!
- График можно разделить на две части, в первой половине число потоков не превышает числа физических процессоров, во второй превышает. И там и там от числа потоков линейный рост, но наклон разный. Т.о. у PostgreSQL великолепная вертикальная масштабируемость.
Но не была ли дисковая система узким местом? 2 тыс. IOPS — это для SSD не слишком много, может где-то затык по работе с дисками?