Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Погрузитесь в захватывающий мир уникальных героев, строительства цитадели и три в ряд битв! Откройте новые горизонты в жанре РПГ.

Время Героев: Три в ряд RPG

Три в ряд, Мидкорные, Приключения

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
4
kznalp
kznalp
2 дня назад
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Сравнение рекомендаций по конфигурации PostgreSQL⁠⁠

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : Сравнение рекомендаций по конфигурации PostgreSQL Субд, Postgresql, Тестирование, Длиннопост

Главное - не победа. Главное - участие.

Начало

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД

Задача

Провести экспериментальную проверку рекомендаций по настройке конфигурационных параметров СУБД PostgreSQL.

PGTune - поможет рассчитать конфигурацию для PostgreSQL на основе максимальной производительности для данной конфигурации оборудования

Рекомендация PgTune

PG_HAZEL : Сравнение рекомендаций по конфигурации PostgreSQL Субд, Postgresql, Тестирование, Длиннопост

Набор конфигурационных параметров №3

ALTER SYSTEM SET max_connections = '200';

ALTER SYSTEM SET shared_buffers = '2GB';

ALTER SYSTEM SET effective_cache_size = '6GB';

ALTER SYSTEM SET maintenance_work_mem = '512MB';

ALTER SYSTEM SET checkpoint_completion_target = '0.9';

ALTER SYSTEM SET wal_buffers = '16MB';

ALTER SYSTEM SET default_statistics_target = '100';

ALTER SYSTEM SET random_page_cost = '1.1';

ALTER SYSTEM SET effective_io_concurrency = '200';

ALTER SYSTEM SET work_mem = '2621kB';

ALTER SYSTEM SET huge_pages = 'off';

ALTER SYSTEM SET min_wal_size = '2GB';

ALTER SYSTEM SET max_wal_size = '8GB';

ALTER SYSTEM SET max_worker_processes = '8';

ALTER SYSTEM SET max_parallel_workers_per_gather = '4';

ALTER SYSTEM SET max_parallel_workers = '8';

ALTER SYSTEM SET max_parallel_maintenance_workers = '4';

Операционная скорость

PG_HAZEL : Сравнение рекомендаций по конфигурации PostgreSQL Субд, Postgresql, Тестирование, Длиннопост
PG_HAZEL : Сравнение рекомендаций по конфигурации PostgreSQL Субд, Postgresql, Тестирование, Длиннопост

Продолжение и подробности : PG_HAZEL : Сравнение рекомендаций по конфигурации PostgreSQL

Показать полностью 3
[моё] Субд Postgresql Тестирование Длиннопост
0
3
kznalp
kznalp
3 дня назад
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Сводный отчет по результатам нагрузочного тестирования СУБД PostgreSQL⁠⁠

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : Сводный отчет по результатам нагрузочного тестирования СУБД PostgreSQL Субд, Postgresql, Тестирование, Отчетность

Отчеты - важны.

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

stress_report.sh 'device-list'

'device-list' : список устройств . Например 'vdb vdc'.

Результат:

Текстовые файлы для последующего импорта в Excel .

1. Операционная скорость

PG_HAZEL : Сводный отчет по результатам нагрузочного тестирования СУБД PostgreSQL Субд, Postgresql, Тестирование, Отчетность

Продолжение и подробности : PG_HAZEL : Сводный отчет по результатам нагрузочного тестирования СУБД PostgreSQL

Показать полностью 1
[моё] Субд Postgresql Тестирование Отчетность
0
1
kznalp
kznalp
5 дней назад
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Свечной график⁠⁠

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : Свечной график Субд, Postgresql, Тестирование

Ну во-первых - это красиво.

Задача

Добавить свечной график изменения операционной скорости в ходе нагрузочного тестирования.

Примеры свечных графиков для разных результатов нагрузочного тестирования

Вечерняя звезда

PG_HAZEL : Свечной график Субд, Postgresql, Тестирование

Утренняя звезда

PG_HAZEL : Свечной график Субд, Postgresql, Тестирование

Дополнительно, про технический анализ для анализа производительности СУБД

Применение технического анализа для PostgreSQL

Показать полностью 2
[моё] Субд Postgresql Тестирование
0
8
kznalp
kznalp
5 дней назад
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД⁠⁠

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Цифры не врут, не имеют предпочтений и настроений.

Задача

Сравнить влияние на производительность СУБД разных наборов конфигурационных параметров СУБД.

Виртуальная машина

  • CPU = 8

  • RAM = 8GB

  • Red OS Murom 7.3

  • PostgreSQL 17

Сценарий тестирования

  1. Select only : 50% нагрузки

  2. Select + Update : 30% нагрузки

  3. Insert only : 15% нагрузки

Нагрузка

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Ось X - точка наблюдения. Ось Y - количество сессий pgbench

Эксперимент-1 : набор конфигурационных параметров №1

wipe_file_on_delete = 'off'
wipe_xlog_on_free = 'off'
wipe_heaptuple_on_delete = 'off'
wipe_memctx_on_free = 'off'
wipe_mem_on_free = 'off'
track_io_timing = 'on'
listen_addresses = '0.0.0.0'
max_connections = '100'
logging_collector = 'on'
log_directory = '/log/pg_log'
log_destination = 'stderr'
log_rotation_size = '0'
log_rotation_age = '1d'
log_filename = 'name-%u.log'
log_line_prefix = '%m| %d| %a| %u| %h| %p| %e| '
log_truncate_on_rotation = 'on'
log_checkpoints = 'on'
archive_mode = 'on'
archive_command = 'true'
archive_timeout = '30min'
synchronous_commit = 'on'
wal_compression = 'on'
idle_in_transaction_session_timeout = '1h'
statement_timeout = '8h'
pg_stat_statements.track_utility = 'off'
shared_preload_libraries = 'pg_wait_sampling, pgpro_stats'
max_wal_size = '4GB'
min_wal_size = '1GB'
effective_cache_size = '6GB'
work_mem = '24MB'
temp_buffers = '48MB'
random_page_cost = '1.1'
effective_io_concurrency = '200'
commit_delay = '0'
shared_buffers = '4GB'
log_autovacuum_min_duration = '0'
log_connections = 'on'
log_disconnections = 'on'

Эксперимент-2 : набор конфигурационных параметров №2

wipe_file_on_delete = 'off'
wipe_xlog_on_free = 'off'
wipe_heaptuple_on_delete = 'off'
wipe_memctx_on_free = 'off'
wipe_mem_on_free = 'off'
track_io_timing = 'on'
listen_addresses = '0.0.0.0'
#max_connections = '200'
logging_collector = 'on'
log_directory = '/log/pg_log'
log_destination = 'stderr'
log_rotation_size = '0'
log_rotation_age = '1d'
log_filename = 'name-%u.log'
log_line_prefix = '%m| %d| %a| %u| %h| %p| %e| '
log_truncate_on_rotation = 'on'
log_checkpoints = 'on'
archive_mode = 'on'
archive_command = 'true'
archive_timeout = '30min'
idle_in_transaction_session_timeout = '1h'
statement_timeout = '8h'
pg_stat_statements.track_utility = 'off'
shared_preload_libraries = 'pg_wait_sampling, pgpro_stats'
commit_delay = '0'
log_autovacuum_min_duration = '0'
log_connections = 'on'
log_disconnections = 'on'

##########################################################
wal_compression = lz4
jit = on
client_connection_check_interval = 3s
default_toast_compression = pglz
enable_async_append = on
autovacuum_vacuum_insert_threshold = 1596
autovacuum_vacuum_insert_scale_factor = 0.01
logical_decoding_work_mem = 64MB
maintenance_io_concurrency = 128
wal_keep_size = 1506MB
hash_mem_multiplier = 1.2
max_parallel_maintenance_workers = 4
max_parallel_workers = 4
max_logical_replication_workers = 4
max_sync_workers_per_subscription = 2
autovacuum = on
autovacuum_max_workers = 4
autovacuum_work_mem = 189MB
autovacuum_naptime = 15s
autovacuum_vacuum_threshold = 1596
autovacuum_analyze_threshold = 798
autovacuum_vacuum_scale_factor = 0.001
autovacuum_analyze_scale_factor = 0.0007
autovacuum_vacuum_cost_limit = 2188
vacuum_cost_limit = 8000
autovacuum_vacuum_cost_delay = 10ms
vacuum_cost_delay = 10ms
autovacuum_freeze_max_age = 500000000
autovacuum_multixact_freeze_max_age = 800000000
shared_buffers = 1779MB
max_connections = 200
max_files_per_process = 1391
superuser_reserved_connections = 4
work_mem = 35MB
temp_buffers = 3990kB
maintenance_work_mem = 196MB
huge_pages = try
fsync = on
wal_level = replica
synchronous_commit = on
full_page_writes = on
wal_buffers = 23MB
wal_writer_delay = 100ms
wal_writer_flush_after = 3050kB
min_wal_size = 1010MB
max_wal_size = 2021MB
max_replication_slots = 0
max_wal_senders = 0
wal_sender_timeout = 0
wal_log_hints = off
hot_standby = off
wal_receiver_timeout = 0
max_standby_streaming_delay = -1
wal_receiver_status_interval = 0
hot_standby_feedback = off
checkpoint_timeout = 15min
checkpoint_warning = 30s
checkpoint_completion_target = 0.8
commit_delay = 0
commit_siblings = 0
bgwriter_delay = 54ms
bgwriter_lru_maxpages = 515
bgwriter_lru_multiplier = 7.0
effective_cache_size = 5081MB
cpu_operator_cost = 0.0025
default_statistics_target = 500
random_page_cost = 1.1
seq_page_cost = 1
join_collapse_limit = 8
from_collapse_limit = 8
geqo = on
geqo_threshold = 12
effective_io_concurrency = 128
max_worker_processes = 8
max_parallel_workers_per_gather = 2
max_locks_per_transaction = 190
max_pred_locks_per_transaction = 190
statement_timeout = 86400000
idle_in_transaction_session_timeout = 86400000
##########################################################

Операционная скорость

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Ось X - точка наблюдения. Ось Y - операционная скорость

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Ось X - точка наблюдения. Ось Y - относительная разница операционной скорости в эксперименте-2 по сравнению с экспериментом-1 .

Среднее снижение производительности СУБД в эксперименте-2 составило 52.55%

Ожидания СУБД

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Ось X - точка наблюдения. Ось Y - ожидания СУБД

PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Ось X - точка наблюдения. Ось Y - относительная разница ожиданий в эксперименте-2 по сравнению с экспериментом-1 .

Среднее увеличение ожиданий СУБД в эксперименте-2 составило 22.56%

Продолжение и подробности : PG_HAZEL : Сравнительный анализ результатов нагрузочного тестирования СУБД

Показать полностью 5
[моё] Субд Postgresql Тестирование Длиннопост
0
4
kznalp
kznalp
8 дней назад
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Сценарий нагрузочного тестирования "HighLoad"⁠⁠

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : Сценарий нагрузочного тестирования "HighLoad" Субд, Postgresql, Тестирование, Длиннопост

Испытания на предельных режимах - нужны.

Задача

Оценить влияние повышенной утилизации CPU и нагрузки на RAM на производительность СУБД и метрики ОС.

Виртуальная машина 12

  • CPU = 8

  • RAM = 8GB

  • Red OS Murom 7.3

  • PostgreSQL 17

Сценарий тестирования-1

  1. Select only : 50% нагрузки

  2. Select + Update : 30% нагрузки

  3. Insert only : 15% нагрузки

Сценарий тестирования-3

  1. Select only : 50% нагрузки

  2. Select + Update : 30% нагрузки

  3. Insert only : 15% нагрузки

  4. CPU + RAM Load : 5% нагрузки

Нагрузка

PG_HAZEL : Сценарий нагрузочного тестирования "HighLoad" Субд, Postgresql, Тестирование, Длиннопост

Ось X - точка наблюдения. Ось Y - количество сессий pgbench


Операционная скорость

Среднее снижение производительности СУБД в эксперименте-3 составило 27.8%

Ожидания СУБД

Среднее увеличение ожиданий СУБД в эксперименте-3 составило 17.9%

Ожидания типа IO

Среднее увеличение ожиданий IO в эксперименте-3 составило 16.82%

Ожидания IPC

Среднее увеличение ожиданий IPC в эксперименте-3 составило 47 523%

Ожидания типа Lock

Среднее уменьшение ожиданий Lock в эксперименте-3 составило 49.10%

Ожидания типа LWLock

Среднее увеличение ожиданий LWLock в эксперименте-3 составило 89.10%

Ожидания типа Timeout

Среднее увеличение ожиданий Timeout в эксперименте-3 составило 108.60%

Подробности

PG_HAZEL : Сценарий нагрузочного тестирования "HighLoad". Часть 1 - СУБД.


Чек-лист IO - без изменений

Чек-лист CPU - ALARM

Чек-лист RAM - без изменений

Подробности

PG_HAZEL : Сценарий нагрузочного тестирования "HighLoad". Часть 2 - ОС.


Продолжение

PG_HAZEL : Сценарий нагрузочного тестирования "HighLoad" - для слабой СУБД и ВМ.

PG_HAZEL : Сценарий нагрузочного тестирования "HighLoad" Субд, Postgresql, Тестирование, Длиннопост

Бери ношу по себе, чтоб не падать при ходьбе.

Показать полностью 2
[моё] Субд Postgresql Тестирование Длиннопост
0
5
kznalp
kznalp
8 дней назад
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Определение причины неудачного выполнения нагрузочного тестирования СУБД⁠⁠

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : Определение причины неудачного выполнения нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

У любой проблемы есть корневые и сопутствующие причины.

Задача

Установить причину неудачного нагрузочного тестирования СУБД по сценарию повышенной нагрузки на CPU.

Виртуальная машина 06

  • CPU = 2

  • RAM = 2GB

  • Astra Linux 1.7

  • PostgreSQL 15

Сценарий тестирования-1

  1. Select only : 50% нагрузки

  2. Select + Update : 30% нагрузки

  3. Insert only : 15% нагрузки

Сценарий тестирования-2

  1. Select only : 50% нагрузки

  2. Select + Update : 30% нагрузки

  3. Insert only : 15% нагрузки

  4. CPU Load : 5% нагрузки

Нагрузка

PG_HAZEL : Определение причины неудачного выполнения нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Ось X - точка наблюдения. Ось Y - количество сессий pgbench

Операционная скорость - 2

PG_HAZEL : Определение причины неудачного выполнения нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Ось X - количество сессий pgbench. Ось Y - Операционная скорость.

Отсутствуют данные по нагрузке 39 - 115 .

Чек-лист IO (сценарий-1 и сценарий-2)

PG_HAZEL : Определение причины неудачного выполнения нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Чек-лист CPU (сценарий-1 и сценарий-2)

PG_HAZEL : Определение причины неудачного выполнения нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Чек-лист RAM (сценарий-1 и сценарий-2)

PG_HAZEL : Определение причины неудачного выполнения нагрузочного тестирования СУБД Субд, Postgresql, Тестирование, Длиннопост

Причина ошибки сбора данных при нагрузочном тестировании по сценарию-2

Свопинг в ходе нагрузочного тестирования по сценарию-2.

📊 1. Механизм возникновения свопинга при нехватке памяти

  • При увеличении числа подключений к СУБД (например, с 5 до 115) каждый новый процесс требует выделения памяти для своих операций. Если физической памяти (RAM) недостаточно, система начинает использовать swap-пространство на диске для перемещения неактивных страниц памяти.

  • При конфигурации 2 GB RAM и интенсивной нагрузке на CPU процессы СУБД могут быстро исчерпать доступную оперативную память. Это активирует механизм подкачки, при котором демон kswapd начинает активно перемещать данные между RAM и диском, что дополнительно нагружает CPU.

⚙️ 2. Влияние свопинга на CPU и общую производительность

  • Процесс свопинга требует значительных вычислительных ресурсов. При активном использовании swap-пространства нагрузка на CPU может достигать 90-100%, причем большая часть этого времени тратится на системные (kernel) операции.

  • Это связано с тем, что ядро Linux должно управлять страницами памяти, определять, какие данные перемещать в swap, и обрабатывать дисковые операции ввода-вывода. В результате нагрузка на CPU возрастает даже при том, что основная задача свопинга — разгрузить оперативную память.

3. Экспоненциальный рост нагрузки и его последствия

  • Экспоненциальное увеличение числа соединений (с 5 до 115) приводит к нелинейному росту потребления ресурсов. Каждое новое соединение требует памяти для выполнения запросов, хранения временных данных и управления транзакциями.

  • При 2 GB RAM такой рост может быстро исчерпать доступную память. Например, если каждое соединение потребляет даже небольшой объем памяти (например, 20-50 MB), то при 115 соединениях общее потребление может превысить 2 GB, что активирует свопинг.

💎 Заключение

При конфигурации CPU=2 ядра и RAM=2 GB экспоненциальный рост нагрузки до 115 соединений с высокой вероятностью приведет к свопингу, что вызовет дополнительную нагрузку на CPU и может значительно снизить производительность СУБД.

Показать полностью 5
[моё] Субд Postgresql Тестирование Длиннопост
2
6
kznalp
kznalp
9 дней назад
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД⁠⁠

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

В DBA мелочей не бывает

Задача

Оценить показатели ОС при возникновении инцидента производительности СУБД.

Методика сбора и анализа статистических данных показателей ОС

PG_HAZEL : Комплексный анализ результатов нагрузочного тестирования СУБД PostgreSQL

Инцидент

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост
PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

2.1 cluster - производительность СУБД

Результаты отчета:

  1. Исторические данные производительности и ожиданий СУБД.

  2. Линия регрессии производительности и ожиданий СУБД.

  3. Абсолютные значения события ожидания

Операционная скорость и ожидания СУБД

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

Ось X - точка наблюдения в течении часа до старта инцидента. Ось Y - операционная скорость

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

Ось X - точка наблюдения в течении часа до старта инцидента. Ось Y - ожидания СУБД

Корреляция ожиданий

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

Максимальные и минимальные значения скорости и ожиданий

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

События ожидания - IPC

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

События ожидания - LWLock

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

2.2 correlation - корреляция ОС + vmstat

Результаты отчета:

  1. Корреляция ожиданий типа IO и метрик vmstat

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

2.3.1 stats - корреляция vmstat + iostat (файловая система /data)

Результаты отчета:

  1. Абсолютные значения метрик vmstat и iostat

  2. Корреляция метрик vmstat и iostat

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост
PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

2.3.2 stats - корреляция vmstat + iostat (файловая система /wal)

Результаты отчета:

  1. Абсолютные значения метрик vmstat и iostat

  2. Корреляция метрик vmstat и iostat

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост
PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

2.4 check_io - чек-лист IO

Результаты отчета:

  1. Абсолютные значения метрик vmstat

  2. Состояние IO

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост
PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

2.5 check_cpu - чек-лист CPU(32)

Результаты отчета:

  1. Абсолютные значения метрик vmstat

  2. Состояние CPU

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост
PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост

2.6 check_ram - чек-лист RAM(64GB)

Результаты отчета:

  1. Абсолютные значения метрик vmstat

  2. Состояние RAM

PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост
PG_HAZEL : Анализ состояния ОС при решении инцидента производительности СУБД Субд, Postgresql, Аналитика, Длиннопост
Показать полностью 19
[моё] Субд Postgresql Аналитика Длиннопост
0
0
kznalp
kznalp
10 дней назад
Postgres DBA
Серия СУБД PostgreSQL

PG_HAZEL : Комплексный анализ результатов нагрузочного тестирования СУБД PostgreSQL⁠⁠

Взято с основного технического канала Postgres DBA (возможны правки в исходной статье).

PG_HAZEL : Комплексный анализ результатов нагрузочного тестирования СУБД PostgreSQL Субд, Postgresql, Тестирование, Длиннопост

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

1. Отчет stress

  • Получение точки начала и окончания теста

  • Снимки pgpro_pwr итераций теста

  • queryid - тестовых сценариев

PG_HAZEL : Комплексный анализ результатов нагрузочного тестирования СУБД PostgreSQL Субд, Postgresql, Тестирование, Длиннопост

Пример результата отчета

2. Отчет summary - сводный отчет по производительности СУБД и ОС

2.1 cluster - производительность СУБД

Теория

PG_HAZEL : Мониторинг и анализ производительности СУБД PostgreSQL

2.2 correlation - корреляция io + vmstat

Теория

Корреляция ожиданий СУБД PostgreSQL и значений VMSTAT

2.3 stats - корреляция vmstat + iostat

Теория

IOSTAT + VMSTAT

2.4 check_io - чек-лист IO

Теория

PG_HAZEL : Чек-лист IO(vmstat : b/wa).

2.5 check_cpu - чек-лист CPU

Теория

PG_HAZEL : Чек-лист CPU (vmstat: r/cs/in/us/sy).

2.6 check_ram - чек-лист RAM

Теория

PG_HAZEL : Чек-лист RAM(vmstat: free/si/so).

2.7 iostat_{имя устройства} - чек-лист диска монтирования файловой системы /data , /wal

IOSTAT : Признаки проблем IO

Планы на будущее

PG_HAZEL : Комплексный анализ результатов нагрузочного тестирования СУБД PostgreSQL Субд, Postgresql, Тестирование, Длиннопост

Полный пост - на рабочем дзен-канале ( Пикабу ограничивает количество ссылок)

PG_HAZEL : Комплексный анализ результатов нагрузочного тестирования СУБД PostgreSQL

Показать полностью 2
[моё] Субд Postgresql Тестирование Длиннопост
2
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии