Microsoft SQL Server ®
Gender:
Longevity: 9 years
Posts: 677
Мониторинг PostgreSQL
Год издания : 2024Автор : Лесовский АлексейИздательство : БумбаISBN : 978-5-907754-42-3Язык : РусскийФормат : PDFКачество : Издательский макет или текст (eBook)Интерактивное оглавление : ДаКоличество страниц : 249Описание : Мониторинг PostgreSQL составляет важную часть работы администратора, помогая отвечать на многие вопросы, связанные с производительностью. Эта книга всесторонне охватывает обширную тему мониторинга, соединяя в себе справочные материалы об инструментарии, практические приемы его использования и способы интерпретации полученных данных. Знание внутреннего устройства PostgreSQL и особенностей мониторинга, почерпнутое из этой книги, поможет в долгосрочной перспективе эффективно эксплуатировать СУБД и успешно решать возникающие задачи. Для администраторов баз данных, системных администраторов, специалистов по надежности.Примеры страниц (скриншоты)
Оглавление Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Об этой книге . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Глава 1. Обзор статистики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.1. «Postgres — это сервис» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.2. Внутреннее устройство PostgreSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Установка соединений и работа сеансов . . . . . . . . . . . . . . . . . . . . . . . . . 17 Запросы как базовая единица рабочей нагрузки . . . . . . . . . . . . . . . . . . . . 17 Планирование и выполнение запросов . . . . . . . . . . . . . . . . . . . . . . . . . 17 Ввод-вывод при выполнении запросов . . . . . . . . . . . . . . . . . . . . . . . . . 18 Журнал упреждающей записи — Write-Ahead Log . . . . . . . . . . . . . . . . . . . 20 Журнал сообщений СУБД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Репликация изменений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Архивирование журнала предзаписи . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Фоновая синхронизация данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Автоочистка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.3. Интерфейс статистики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 1.4. Статистика как отправная точка инструментов мониторинга . . . . . . . . . . 24 1.5. Особенности статистики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 1.6. Тестовое окружение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Глава 2. Статистика активности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.1. Ключ к пониманию происходящего в СУБД . . . . . . . . . . . . . . . . . . . . . . . 27 2.2. Взаимодействие клиента и сервера . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.3. Источники информации об активности . . . . . . . . . . . . . . . . . . . . . . . . . 31 Представление pg_stat_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Представление pg_locks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Особенности pg_stat_activity и pg_locks . . . . . . . . . . . . . . . . . . . . . . . . . 37 Представление pg_stat_database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 2.4. Подключенные клиенты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Отслеживание клиентских сеансов . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Транзакционная активность . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Статусы завершения сеансов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.5. Состояния сеансов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Отслеживание состояний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Ожидания и блокировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Отслеживание состояний с учетом ожиданий . . . . . . . . . . . . . . . . . . . . . 53 Взаимоблокировки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Бездействующие транзакции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 2.6. Время выполнения запросов и транзакций . . . . . . . . . . . . . . . . . . . 58 2.7. Отслеживание времени ожидания блокировок . . . . . . . . . . . . . . . . 61 Использование pg_locks.waitstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Использование pg_stat_activity.state_change . . . . . . . . . . . . . . . . . . . . . . 63 2.8. Дерево блокировок . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Глава 3. Выполнение запросов и функций . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.1. Зачем нужен мониторинг запросов . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 3.2. Расширение pg_stat_statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.3. Метаданные запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.4. Планирование запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 3.5. Исполнение запроса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 3.6. Сквозная идентификация с queryid . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.7. Построение отчетов на основе pg_stat_statements . . . . . . . . . . . . . . . . . 91 3.8. Представление pg_stat_statements_info . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.9. Выполнение процедур и функций . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Глава 4. Базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.1. Иерархия объектов СУБД . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Кластер баз данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Табличные пространства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Схемы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Таблицы и индексы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 TOAST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 4.2. События в кластере баз данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Рабочая нагрузка в отношении таблиц и индексов . . . . . . . . . . . . . . . . . . 107 Ошибки и нежелательные события . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 4.3. Функции для работы с объектами СУБД . . . . . . . . . . . . . . . . . . . . . . 116 Определение размеров объектов СУБД . . . . . . . . . . . . . . . . . . . . . . . . . 117 Размещение объектов в файловой системе . . . . . . . . . . . . . . . . . . . . . . . 123 Глава 5. Область общей памяти и ввод-вывод . . . . . . . . . . . . . . . . . . . . . 129 5.1. Анализ общей памяти . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Представление pg_buffercache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Представление pg_shmem_allocations . . . . . . . . . . . . . . . . . . . . . . . . . . 135 5.2. Анализ памяти клиентских процессов . . . . . . . . . . . . . . . . . . . . . . . . . . 136 5.3. Оценка использования SLRU-кешей . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.4. Ввод-вывод в контексте объектов СУБД . . . . . . . . . . . . . . . . . . . . . . . . . 138 Базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Таблицы, индексы и последовательности . . . . . . . . . . . . . . . . . . . . . . . . 140 5.5. Ввод-вывод в контексте выполнения запросов . . . . . . . . . . . . . . . . . . . . . 143 5.6. Временные файлы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 Уровень баз данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Ввод-вывод при выполнении запросов . . . . . . . . . . . . . . . . . . . . . . . . . 146 Отслеживание в журнале сообщений . . . . . . . . . . . . . . . . . . . . . . . . . . 147 Отслеживание активных временных файлов . . . . . . . . . . . . . . . . . . . . . . 148 5.7. Ввод-вывод фоновых процессов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Глава 6. Журнал упреждающей записи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.1. Write-Ahead Log — журнал упреждающей записи . . . . . . . . . . . . . . . . . . . 157 6.2. Отслеживание активности в журнале . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Представление pg_stat_wal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Представление pg_stat_statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 6.3. Архивирование журнала . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Представление pg_stat_archiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 Очередь архивирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Глава 7. Репликация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 7.1. Обзор репликации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 7.2. Инструменты отслеживания репликации . . . . . . . . . . . . . . . . . . . . . . . . 176 Представление pg_stat_replication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 Представление pg_stat_wal_receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Cлоты репликации и pg_replication_slots . . . . . . . . . . . . . . . . . . . . . . . . 183 Публикации и подписки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 7.3. Конфликты восстановления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Глава 8. Очистка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 8.1. Введение в очистку . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 8.2. Особенности очистки на практике . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Когда выполняется автоочистка? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Статистика выполнения очистки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 8.3. Счетчик транзакций и предотвращение ошибок, связанных с его зацикливанием 202 8.4. Раздувание таблиц и индексов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 8.5. Отслеживание активных процессов очистки . . . . . . . . . . . . . . . . . . . . . . 213 Представление pg_stat_activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Представление pg_stat_progress_vacuum . . . . . . . . . . . . . . . . . . . . . . . . . 217 Глава 9. Ход выполнения операций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 9.1. Представление pg_stat_progress_analyze . . . . . . . . . . . . . . . . . . . . . . . . . 222 9.2. Представление pg_stat_progress_basebackup . . . . . . . . . . . . . . . . . . . . . . 224 9.3. Представление pg_stat_progress_cluster . . . . . . . . . . . . . . . . . . . . . . . . . .226 9.4. Представление pg_stat_progress_create_index . . . . . . . . . . . . . . . . . . . . . 228 9.5. Представление pg_stat_progress_copy . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Приложение. Тестовое окружение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Предметный указатель . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
[solely-soft.top].t192556.torrent
Torrent:
Registered [ 2024-02-27 08:25 ]
· 5EEAA491DDE999F936C57AD86E886B07DA8BED2B
9 KB
Status:
√ checked
Completed:
7 times
Size:
7 MB
Rate:
(Vote: 0 )
Have thanked:
0
Лесовский Алексей - Мониторинг PostgreSQL [2024, PDF, RUS] download torrent for free and without registration