|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
Подскажите пожулуйста, есть какой то удобный способ, вот есть конкретный запрос Посмотреть по этому запросу, сколько памяти понадобилось на его выполнение. Сколько он задействовал из shared buffers. По плану запроса в принципе можно посмотреть shared hit каждого узла и посмотреть сколько work_mem было задействовано для каждого узла, можно ли как то удобно посмотреть так же, максимум памяти для узла в запросе, память для всех узлов запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 11:57 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
и объем данных, которые он в итоге выгребает в мегабайтах ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 12:30 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
kliff и объем данных, которые он в итоге выгребает в мегабайтах выгребает в каком смысле? сколько было считано из файловой системы? сколько было считано с физических дисков? сколько по сети передали (так оно зависит от кучи факторов включая наличие или отсутствие ssl)? PS: от второго и третьего я бы и сам не отказался... а первое у вас есть. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 14:02 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
Maxim Boguk kliff и объем данных, которые он в итоге выгребает в мегабайтах выгребает в каком смысле? сколько было считано из файловой системы? сколько было считано с физических дисков? сколько по сети передали (так оно зависит от кучи факторов включая наличие или отсутствие ssl)? PS: от второго и третьего я бы и сам не отказался... а первое у вас есть. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru да, сколько приблизительно ему надо передать по сети. Но важнее конечно вопрос про оперативку. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 18:39 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
kliff да, сколько приблизительно ему надо передать по сети. Но важнее конечно вопрос про оперативку. если work_mem не хватило то начнется использование temp файлов и это будет видно в explain analyze кроме этого ничего нет... а зачем вам это все? какую задачу решаем? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 19:02 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
Maxim Boguk, Задача - есть порядочно большой запрос, но он очень частый, он сразу выполняется при входе юзера в систему ну и вообще самый частый запрос в системе, по сути он основной в системе. Вот надо подобрать оптимальные настройки PG под 5000 пользователей, из них примерно у 500 этот запрос будет выполняться одновременно. Нагрузка адски неравномерная, то есть например все 5000 одновременно подключаются в понедельник с 9 утра до 2х дня, все остальное время в системе 2000 пользователей. Памяти можно поставить хоть сколько, процессоров хоть сколько. Винты не ssd. Пока не понятно честно говоря как понять необходимый объем памяти и настройки под него. будет видно в explain analyze, то есть только методом тыка подбирать work_mem, меняя его. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 20:22 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
kliff Maxim Boguk, Задача - есть порядочно большой запрос, но он очень частый, он сразу выполняется при входе юзера в систему ну и вообще самый частый запрос в системе, по сути он основной в системе. Вот надо подобрать оптимальные настройки PG под 5000 пользователей, из них примерно у 500 этот запрос будет выполняться одновременно. Нагрузка адски неравномерная, то есть например все 5000 одновременно подключаются в понедельник с 9 утра до 2х дня, все остальное время в системе 2000 пользователей. Памяти можно поставить хоть сколько, процессоров хоть сколько. Винты не ssd. Пока не понятно честно говоря как понять необходимый объем памяти и настройки под него. будет видно в explain analyze, то есть только методом тыка подбирать work_mem, меняя его. и судя по 22207666 у этого PG только 8 рабочих процессов? Вы шутите батенька. Рабочих процессов на боксе с винтами должно быть как минимум в пять раз больще чем количество ядер. Let me think. 500 сложных запросов одновременно на HDDs.... Я бы поставил, для начала, каропку с минимум 80 ядрами (типа lenovo x3850x6) и сконфигил бы max_worker_processes=500. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 22:03 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
OoCc и судя по 22207666 у этого PG только 8 рабочих процессов? Вы шутите батенька. Рабочих процессов на боксе с винтами должно быть как минимум в пять раз больще чем количество ядер. Let me think. 500 сложных запросов одновременно на HDDs.... Я бы поставил, для начала, каропку с минимум 80 ядрами (типа lenovo x3850x6) и сконфигил бы max_worker_processes=500. откуда такие цифры? можете обосновать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 22:09 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
OoCc kliff Maxim Boguk, Задача - есть порядочно большой запрос, но он очень частый, он сразу выполняется при входе юзера в систему ну и вообще самый частый запрос в системе, по сути он основной в системе. Вот надо подобрать оптимальные настройки PG под 5000 пользователей, из них примерно у 500 этот запрос будет выполняться одновременно. Нагрузка адски неравномерная, то есть например все 5000 одновременно подключаются в понедельник с 9 утра до 2х дня, все остальное время в системе 2000 пользователей. Памяти можно поставить хоть сколько, процессоров хоть сколько. Винты не ssd. Пока не понятно честно говоря как понять необходимый объем памяти и настройки под него. будет видно в explain analyze, то есть только методом тыка подбирать work_mem, меняя его. и судя по 22207666 у этого PG только 8 рабочих процессов? Вы шутите батенька. Рабочих процессов на боксе с винтами должно быть как минимум в пять раз больще чем количество ядер. Let me think. 500 сложных запросов одновременно на HDDs.... Я бы поставил, для начала, каропку с минимум 80 ядрами (типа lenovo x3850x6) и сконфигил бы max_worker_processes=500. очень вряд ли быстрый и частый запрос будет parralel workers использовать... они для аналитики а тут OLTP какой то недоделанный... а если запрос параллельное выполнение не использует то пользы от max_worker_processes=500 не только вредно но еще и бесполезно. Да и доступ к hdd легко насыщается 1 процессом (200iops как то и в один поток прожевать не сложно). -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2020, 22:11 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
[quot Maxim Boguk#22213762] OoCc пропущено... а тут OLTP какой то недоделанный -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru В каком плане не доделанный? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 10:21 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
vyegorov OoCc и судя по 22207666 у этого PG только 8 рабочих процессов? Вы шутите батенька. Рабочих процессов на боксе с винтами должно быть как минимум в пять раз больще чем количество ядер. Let me think. 500 сложных запросов одновременно на HDDs.... Я бы поставил, для начала, каропку с минимум 80 ядрами (типа lenovo x3850x6) и сконфигил бы max_worker_processes=500. откуда такие цифры? можете обосновать? Я был неправ, у меня другой тип нагрузки. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 10:42 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
Ну вот в этом и проблема, литературу то я перечитал по настройкам, но тут нужен именно опыт. Кто то говорит ставь равное количеству ядер, кто то количество ядер умножь на 10 и тд. Вопрос и правда сложный и неоднозначный. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 10:55 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
[quot kliff#22213934] Maxim Boguk пропущено... В каком плане не доделанный? В том смысле что "Задача - есть порядочно большой запрос, но он очень частый, он сразу выполняется при входе юзера в систему ну и вообще самый частый запрос в системе, по сути он основной в системе. " - это с одной стороны OLTP потому что очень частый/самый частый а с другой стороны нет потому что "порядочно большой запрос". Вы бы его вместе с планом бы показали - может чего умного бы посоветовали. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2020, 11:20 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
[quot Maxim Boguk#22213983] kliff пропущено... В том смысле что "Задача - есть порядочно большой запрос, но он очень частый, он сразу выполняется при входе юзера в систему ну и вообще самый частый запрос в системе, по сути он основной в системе. " - это с одной стороны OLTP потому что очень частый/самый частый а с другой стороны нет потому что "порядочно большой запрос". Вы бы его вместе с планом бы показали - может чего умного бы посоветовали. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Я уже писал про запрос, он на 800 строк и я уверен, что революционно его разогнать можно только полностью пересмотрев работу приложения и изменив логику запроса, работаю над этим. Оптимизировать план не вижу перспектив. Конечно хотелось бы понять, почему система начинает подтормаживать при наплыве пользователей, хотя ОЗУ не расходуется даже на треть, процессоры не загружены даже наполовину в основном. По Забикс не просаживается ни один из показателей. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 08:29 |
|
сколько памяти использует запрос
|
|||
---|---|---|---|
#18+
[quot kliff#22217186] Maxim Boguk пропущено... Конечно хотелось бы понять, почему система начинает подтормаживать при наплыве пользователей, хотя ОЗУ не расходуется даже на треть, процессоры не загружены даже наполовину в основном. По Забикс не просаживается ни один из показателей. 1)"ОЗУ не расходуется даже на треть" - знать бы как оно это считает ваш мониторинг и отличает ли он память занятую под дисковый кеш операционной системы (где база основную часть данных кеширует обычно) и действительно свободную память 2)"По Забикс не просаживается ни один из показателей" - zabbix по умолчанию в принципе не пригоден для адекватного мониторинга сервера с базой... поставьте okmeter хотя бы временно и скорее всего все яснее станет Теоретически какие ресурсы могут у сервера с базой закончится: 1)IO - у вас есть графики IO утилизации, IOPS и latency по чтению и записи? учитывая что у вас hdd - там много не надо чтобы все начало тормозить 2)коннекты к базе (тут надо смотреть сколько коннектов у вас есть максимум, и разбивка по тем чем заняты те что установлены (idle/idle in trasnaction/active/waiting) - этот график у вас есть? 3)CPU ну тут вы говорите что не занят могу только поверить 4)пропускная способность сети - у вас графики по сети есть там никаких полок или потерь пакетов не видно? 5)если используется connection pooling того или иного вида - там тоже много интересных эффектов может быть... графики использования пула коннектов у вас есть? PS: график времени ответа среднего от базы есть? а графики request per second по самым популярным запросам? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2020, 11:41 |
|
|
start [/forum/search_topic.php?author=MistProgram&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
get settings: |
8ms |
get forum list: |
15ms |
get settings: |
8ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
14ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
9ms |
get forum list: |
13ms |
get settings: |
10ms |
get forum list: |
15ms |
get settings: |
9ms |
get forum list: |
11ms |
get settings: |
11ms |
get forum list: |
14ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
159ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
others: | 3772ms |
total: | 4246ms |
0 / 0 |