Измерь его правильно! краткое описание общепринятого метода оценки производительности db серверов

Сервер 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

  1. Обзор архитектуры и основных возможностей;
  2. Больше всех делится практическим опытом на русском языке, наверное, Алексей Константинов ascrus. Спасибо ему за это, рекомендую все его публикации на Хабре и в блоге;
  3. Вводная статья и практический опыт от alexzaitsev;
  4. Выбор методологии для хранилища на Vertica от Николая Голова azathot. Интересный и неожиданный для Vertica выбор Anchor Modeling (6 NF). Николай нередко делится практическим опытом на различных мероприятиях, например, на Higload++ или HPE конференции;
  5. Официальная on-line документация с множеством примеров;
  6. Краткая статья о том, чего нет в 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 не слишком много, может где-то затык по работе с дисками?

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Работатека
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: