powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / out of shared memory
4 сообщений из 4, страница 1 из 1
out of shared memory
    #38545863
Фотография Константин Евтеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
При тестированиии нагрузки на базу получил следующие сообщения: out of shared memory.
Объем памяти на сервере 46гб; postgres 9.1, os debian 7;
shared buffers 20 gb;
work mem 12 mb
max_locks_per_transaction 64
размер базы около 2 тб
есть одна секционированная таблица (75% занимаемого места), 1000 партиций
Max connections 200

Нагрузку делал на 20 соединениях(запросы на select,каждый создавал по одной temporary table(время выполнения около 0.5 сек))
В фоне шли операции update(2-3 каждая также создавала temporary table); две выборки по секционированой таблице также с использованием temporary table.
Прогнозируемое колличество подключений в пределах 60
Собираюсь увеличить max_locks_per_transaction, и уменьшить shared buffers. Буду очень благодарен за пояснение по расчету данных параметров в разрезе вышеописанной ситуации.
...
Рейтинг: 0 / 0
out of shared memory
    #38545865
Фотография Константин Евтеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин Евтеев, не большое пояснение запросы, использованные для тестирования нагрузки: хранимки на выборку с использованием temporary tables
...
Рейтинг: 0 / 0
out of shared memory
    #38545887
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Константин ЕвтеевКонстантин Евтеев, не большое пояснение запросы, использованные для тестирования нагрузки: хранимки на выборку с использованием temporary tables

тогда скорее всего вам надо поднять max_locks_per_transaction
hmm до скольки не знаю... пока ошибка не перестанет идти...
до 256 можно смело поднимать для начала...


1) 1000 партиций - плохая идея... postgresql выбирает партиции для работы ЛИНЕЙНЫМ поиском... т.е. выбор нужной партиции из 1000 будет ровно в 10 раз медленнее чем выбор нужной партиции из 100 партиций... разработчики не рекомендуют использовать больше 100 партиций... а лучше меньше... на 1000 партиций большой кусок времени (вполне может быть что и основное время) выполнения запроса может/будет уходить на выбор нужной партиции для выполнения запроса.

2) Ну и заодно надо очень аккуратно партиции с хранимками склеивать... там легко можно получить ситуацию когда будут все партиции перебираться на вроде бы очевидном месте в запросах внутри хранимок.

Вполне возможно что учитывая 1 и 2 вам надо ставить max_locks_per_transaction в больше чем 1000 (очень на то похоже :))
...
Рейтинг: 0 / 0
out of shared memory
    #38545911
Фотография Константин Евтеев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,

Спасибо, в понедельник буду пробовать.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / out of shared memory
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]