Чтобы понять, что PostgreSQL использует слишком много памяти ("хапнул лишнего"), обратите внимание на ключевые признаки и проведите диагностику.
Признаки проблемы
Свопинг (swap): Если система активно использует swap, это указывает на нехватку оперативной памяти, что может резко снизить производительность.
Замедление запросов: Запросы выполняются медленно, даже если CPU не загружен. Это может быть связано с чрезмерным выделением памяти под work_mem или большим количеством соединений.
Чрезмерное количество соединений:Если количество соединений близко к значению max_connections, сервер начинает расходовать больше ресурсов на их обслуживание.
Как диагностировать
На уровне ОС:
free -m: проверьте, сколько памяти доступно (available) и не растёт ли использование swap.
top/htop: найдите процессы PostgreSQL с высоким потреблением памяти.
Использование памяти:
Оцените настройки work_mem и нагрузку от соединений, особенно при большом числе активных запросов.
Что делать
Оптимизируйте запросы:
Добавьте индексы для ускорения фильтров.
Избегайте SELECT *, выбирайте только нужные колонки.
Разбейте сложные запросы на более простые.
Ограничьте соединения:
Проверьте необходимость всех активных соединений.
Используйте пул соединений (PgBouncer, Pgpool-II) для управления нагрузкой.
Установите разумное значение для max_connections (например, 100-200 вместо нескольких сотен).
Настройте параметры памяти:
Уменьшите work_mem для интенсивных запросов: SET work_mem = '16MB';
Убедитесь, что shared_buffers не превышает 25-40% доступной памяти.
Мониторинг:
Настройте системы мониторинга для отслеживания активности соединений и использования памяти (pg_stat_activity, node_memory_MemAvailable).
Настройте автоматические уведомления при достижении определённых порогов использования памяти или swap.
Абсолютно верно, PostgreSQL не работает изолированно, и на сервере могут быть другие сервисы и приложения, которые также требуют оперативной памяти. Под "оперативной памятью сервера" подразумевали доступный пул физической памяти, из которого ресурсы выделяются для всех процессов.
Да, при настройке параметров необходимо учитывать:
ОС: она использует часть оперативной памяти для своих нужд, включая файловый кэш.
Другие приложения: если сервер используется не только для PostgreSQL, но и для других сервисов.
Резерв: всегда стоит оставлять запас оперативной памяти для непредвиденных нагрузок или системных процессов.
Таким образом, расчёт значений shared_buffers и effective_cache_size лучше производить от доступной памяти, остающейся после учёта всех прочих сервисов и ОС.
Ваш комментарий относится к Linx или Мультифактор? Если речь о Linx, направьте, пожалуйста, ваши замечания на почту ask@linx.ru, мы приложим все усилия, чтобы как можно быстрее устранить проблемы.
Если вкратце, то в систему защиты информации входили сертифицированные ОС Astra Linux SE, РЕД ОC, платформа виртуализации SharxBase, NGFW UserGate, C-Терра Шлюз, СЗИ от НСД на несертифицированных ОС, антивирусное ПО, сканер уязвимостей и SIEM. Дополнительно использовалась двухфакторная аутентификация для SUDO и подключений по SSH. Подробнее расскажем в материале о прохождении процесса аттестации, над которым мы сейчас работаем :)
Мы предлагаем несколько опций: частное облако как сервис в уже аттестованном контуре, частное облако с нужными заказчику характеристиками, развернутое "с нуля", или частное облако на базе инфраструктуры заказчика, с услугой аттестации для ГИС, если в этом есть необходимость.
У SharxBase нет интеграции с каким-либо продуктом резервного копирования. Решение для резервного копирования можно подружить с SharxBase VM только через агента.
Использование SAP в России не запрещено на законодательном уровне, однако SAP планирует отключить поддержку российских пользователей до конца 2023 https://www.kommersant.ru/doc/6197706, в связи с чем дальнейшая эксплуатация данной ERP будет затруднена.
Использование ранее приобретенных лицензий VMware полностью легально.
Другие варианты рассматриваются, но требуют времени и ресурсов для развертывания. Всё-таки одно дело - виртуализация инфраструктуры предприятия, и совсем другое - построение публичного облака.
В статье сказано, что на данный момент фактический учет ведется в 1С.
Здесь стоит посмотреть на проблему немного шире: в выводах Uptime Institute подразумеваются ведь не только рядовые сотрудники, но и их руководители, которые, например, могут "забыть" провести своевременный апгрейд оборудования, назначить ответственным нового, недостаточно подготовленного сотрудника, не прописать в регламентах частоту обновления/ тестирования/ проверки на совместимость оборудования или ПО и т.д. и т.п.
В данной статье хотелось именно рассказать о проекте и приобретенном опыте в целом. Но постараемся в будущие публикации включить больше деталей и технических подробностей.
Книга доступна в электронном формате на следующих площадках:
https://www.litres.ru/book/andrey-chesnov/ekspluataciya-cod-prakticheskoe-rukovodstvo-71370031/
https://stroki.mts.ru/book/ekspluatatsiya-tsod-prakticheskoye-rukovodstvo-284463
https://www.amazon.com/dp/B0DM6JP18K/
https://books.apple.com/book/id6738705417
https://play.google.com/store/books/details?id=roAvEQAAQBAJ
https://www.kobo.com/ww/en/ebook/c24i3_5w4T-TZez95wJh4A
Чтобы понять, что PostgreSQL использует слишком много памяти ("хапнул лишнего"), обратите внимание на ключевые признаки и проведите диагностику.
Признаки проблемы
Свопинг (swap): Если система активно использует swap, это указывает на нехватку оперативной памяти, что может резко снизить производительность.
Замедление запросов: Запросы выполняются медленно, даже если CPU не загружен. Это может быть связано с чрезмерным выделением памяти под work_mem или большим количеством соединений.
Чрезмерное количество соединений:Если количество соединений близко к значению max_connections, сервер начинает расходовать больше ресурсов на их обслуживание.
Как диагностировать
На уровне ОС:
free -m: проверьте, сколько памяти доступно (available) и не растёт ли использование swap.
top/htop: найдите процессы PostgreSQL с высоким потреблением памяти.
Использование памяти:
Оцените настройки work_mem и нагрузку от соединений, особенно при большом числе активных запросов.
Что делать
Оптимизируйте запросы:
Добавьте индексы для ускорения фильтров.
Избегайте SELECT *, выбирайте только нужные колонки.
Разбейте сложные запросы на более простые.
Ограничьте соединения:
Проверьте необходимость всех активных соединений.
Используйте пул соединений (PgBouncer, Pgpool-II) для управления нагрузкой.
Установите разумное значение для max_connections (например, 100-200 вместо нескольких сотен).
Настройте параметры памяти:
Уменьшите work_mem для интенсивных запросов: SET work_mem = '16MB';
Убедитесь, что shared_buffers не превышает 25-40% доступной памяти.
Мониторинг:
Настройте системы мониторинга для отслеживания активности соединений и использования памяти (pg_stat_activity, node_memory_MemAvailable).
Настройте автоматические уведомления при достижении определённых порогов использования памяти или swap.
Абсолютно верно, PostgreSQL не работает изолированно, и на сервере могут быть другие сервисы и приложения, которые также требуют оперативной памяти. Под "оперативной памятью сервера" подразумевали доступный пул физической памяти, из которого ресурсы выделяются для всех процессов.
Да, при настройке параметров необходимо учитывать:
ОС: она использует часть оперативной памяти для своих нужд, включая файловый кэш.
Другие приложения: если сервер используется не только для PostgreSQL, но и для других сервисов.
Резерв: всегда стоит оставлять запас оперативной памяти для непредвиденных нагрузок или системных процессов.
Таким образом, расчёт значений shared_buffers и effective_cache_size лучше производить от доступной памяти, остающейся после учёта всех прочих сервисов и ОС.
Ваш комментарий относится к Linx или Мультифактор? Если речь о Linx, направьте, пожалуйста, ваши замечания на почту ask@linx.ru, мы приложим все усилия, чтобы как можно быстрее устранить проблемы.
Ссылки:
https://www.wildberries.ru/catalog/218507737/detail.aspx
https://ozon.ru/t/baajQbW
Здравствуйте. Спасибо за интерес к книге. Можно оформить предзаказ на Озоне: https://www.ozon.ru/product/ekspluatatsiya-tsod-prakticheskoe-rukovodstvo-nagornyy-konstantin-chirkov-taras-1484602575/?asb=%252BSRH7inqAmd%252BGBVGgxchCCw3JF0CRv0ZQg9VOSS99JU%253D&asb2=9t7kr8Sx7Oi0s-1VANjFXOk-ZO0YcPszq9avSMs_WkQMSzFVoXWSjZQ3z6VSadzQ&avtc=5&avte=2&avts=1711523346&keywords=эксплуатация+цод или приобрести ее здесь https://mdk-arbat.ru/book/6680604
Здравствуйте. Вы точно прочитали новость? Имена авторов в тексте есть. Можно оформить предзаказ на Озоне: https://www.ozon.ru/product/ekspluatatsiya-tsod-prakticheskoe-rukovodstvo-nagornyy-konstantin-chirkov-taras-1484602575/?asb=%252BSRH7inqAmd%252BGBVGgxchCCw3JF0CRv0ZQg9VOSS99JU%253D&asb2=9t7kr8Sx7Oi0s-1VANjFXOk-ZO0YcPszq9avSMs_WkQMSzFVoXWSjZQ3z6VSadzQ&avtc=5&avte=2&avts=1711523346&keywords=эксплуатация+цод или приобрести ее здесь https://mdk-arbat.ru/book/6680604
Здравствуйте. В самой новости давать ссылку было бы некорректно, так это анонс, а не рекламное объявление. На данный момент книгу можно приобрести здесь: https://mdk-arbat.ru/book/6680604 Также она есть на Озоне и Вайлдберриз, в продаже появляется по мере обновления стока продавцами. Здесь, например, можно оформить предзаказ: https://www.ozon.ru/product/ekspluatatsiya-tsod-prakticheskoe-rukovodstvo-nagornyy-konstantin-chirkov-taras-1484602575/?asb=%252BSRH7inqAmd%252BGBVGgxchCCw3JF0CRv0ZQg9VOSS99JU%253D&asb2=9t7kr8Sx7Oi0s-1VANjFXOk-ZO0YcPszq9avSMs_WkQMSzFVoXWSjZQ3z6VSadzQ&avtc=5&avte=2&avts=1711523346&keywords=эксплуатация+цод
Добрый день. Книга еще вчера была в продаже на Вайлдберриз и Озоне, но ее быстро раскупили, нужно подождать, когда продавцы обновят резервы. На данный момент она точно есть в продаже здесь: https://mdk-arbat.ru/book/6680604 Также, как вариант, можно оформить предзаказ: https://www.ozon.ru/product/ekspluatatsiya-tsod-prakticheskoe-rukovodstvo-nagornyy-konstantin-chirkov-taras-1484602575/?asb=%252BSRH7inqAmd%252BGBVGgxchCCw3JF0CRv0ZQg9VOSS99JU%253D&asb2=9t7kr8Sx7Oi0s-1VANjFXOk-ZO0YcPszq9avSMs_WkQMSzFVoXWSjZQ3z6VSadzQ&avtc=5&avte=2&avts=1711523346&keywords=эксплуатация+цод
Книга пока выпущена только в бумажном формате. Вопрос с электронной версией рассмотрим.
Здравствуйте! Книга распространяется в том числе через Озон. У Озона есть доставка за пределы России.
Если вкратце, то в систему защиты информации входили сертифицированные ОС Astra Linux SE, РЕД ОC, платформа виртуализации SharxBase, NGFW UserGate, C-Терра Шлюз, СЗИ от НСД на несертифицированных ОС, антивирусное ПО, сканер уязвимостей и SIEM. Дополнительно использовалась двухфакторная аутентификация для SUDO и подключений по SSH. Подробнее расскажем в материале о прохождении процесса аттестации, над которым мы сейчас работаем :)
Мы предлагаем несколько опций: частное облако как сервис в уже аттестованном контуре, частное облако с нужными заказчику характеристиками, развернутое "с нуля", или частное облако на базе инфраструктуры заказчика, с услугой аттестации для ГИС, если в этом есть необходимость.
Совершенно верно, проводилась аттестация отдельной платформы виртуализации.
Наше частное облако развернуто на базе платформы SharxBase.
У SharxBase нет интеграции с каким-либо продуктом резервного копирования. Решение для резервного копирования можно подружить с SharxBase VM только через агента.
SDS проприетарный SharxBase, подробностей они не разглашают. Как только проведем собственные нагрузочные тесты, обязательно ими поделимся.
Использование SAP в России не запрещено на законодательном уровне, однако SAP планирует отключить поддержку российских пользователей до конца 2023 https://www.kommersant.ru/doc/6197706, в связи с чем дальнейшая эксплуатация данной ERP будет затруднена.
Использование ранее приобретенных лицензий VMware полностью легально.
Другие варианты рассматриваются, но требуют времени и ресурсов для развертывания. Всё-таки одно дело - виртуализация инфраструктуры предприятия, и совсем другое - построение публичного облака.
В статье сказано, что на данный момент фактический учет ведется в 1С.
Здесь стоит посмотреть на проблему немного шире: в выводах Uptime Institute подразумеваются ведь не только рядовые сотрудники, но и их руководители, которые, например, могут "забыть" провести своевременный апгрейд оборудования, назначить ответственным нового, недостаточно подготовленного сотрудника, не прописать в регламентах частоту обновления/ тестирования/ проверки на совместимость оборудования или ПО и т.д. и т.п.
Фокус будет на AWS, но мы также расскажем о подключении к другим глобальным облакам в рамках наших возможностей.