Блог

Фильтр по тегам

Как мы тестируем Tantor Postgres для 1С — от нагрузочных тестов до оптимизаций планировщика
Александр Симонов, руководитель направления развития 1С в "Тантор Лабс", рассказывает, как устроен процесс тестирования изнутри, почему одного "эталонного" прогона недостаточно, что делать, когда ванильный PostgreSQL 18 ломает собственные оптимизации, и как Tantor Postgres приближается к той планке, которую MS SQL Server держал годами.

Работа с временными таблицами в PostgreSQL
В статье рассматриваются особенности работы с временными таблицами и описано решение проблемы раздувания таблиц системного каталога, реализованное в СУБД Tantor Postgres. Начиная с версии 17.5, при создании и удалении временных таблиц, а также при работе с временными объектами таблицы системного каталога не изменяются.

Внутристраничная очистка в индексах PostgreSQL
В статье рассматривается алгоритм работы аналогичной оптимизации для индексов. Если горизонт удерживается, то ни внутристраничная очистка, ни вакуум не могут освободить место, и тогда новая версия строки вставляется в другой блок. Увидим на примере стандартного теста pgbench, как сильно может снижаться производительность при удержании горизонта базы данных (в случае когда есть сессия с долгим запросом или транзакцией) и разберемся в причинах снижения производительности.

Трассировка запросов в Postgres с расширением pg_trace
Наш путь создания профайлера делится на 2 этапа: создание расширения, которое будет собирать трассировку, и создание GUI для удобной работы пользователя, которое позволит в пару кликов настраивать отборы, запускать трассировку и работать с её результатами.

Как провести нагрузочное тестирование БД PostgreSQL и ничего не забыть
При нагрузочном тестировании баз данных Tantor Postgres или других на базе PostgreSQL с использованием стандартного инструмента pgbench отсутствие фиксации деталей окружения (таких как конфигурация СУБД, характеристики сервера, версии ПО) часто приводит к нерепрезентативным результатам и необходимости повторных тестов. В статье рассматривается бесплатный инструмент pg_perfbench, который призван решить эту проблему.