Size: a a a

PostgreSQL + 1C + Linux

2020 June 21

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
L K
А Выключить Transparent Huge Pages?
скорее всего они у вас выключены
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
L K
В мануале Дорошкевича рекомендуется:
В обязательном порядке необходимо вынести каталог pg_stat_tmp в RAM-диск.
Этот каталог очень агрессивно используется PostgreSQL и при этом при выключении
его содержимое копируется в каталог pg_tmp. Размер каталога рассчитывается
примерно как 256МБ-512МБ на 1 БД.
Это что нибудь реально дает?
-rw------- 1 postgres postgres 4.0K Jun 21 21:32 db_0.stat
-rw------- 1 postgres postgres 2.0M Jun 21 21:32 db_119985756.stat
-rw------- 1 postgres postgres 5.7K Jun 21 21:31 db_13410.stat
-rw------- 1 postgres postgres 2.3M Jun 21 21:32 db_16386.stat
-rw------- 1 postgres postgres 1.1M Jun 21 21:31 db_16387.stat
-rw------- 1 postgres postgres 1.2M Jun 21 21:32 db_16388.stat
-rw------- 1 postgres postgres 1.1M Jun 21 21:32 db_16389.stat
-rw------- 1 postgres postgres 4.8K Jun 21 21:31 db_1.stat
-rw------- 1 postgres postgres 438K Jun 21 21:31 db_218648026.stat
-rw------- 1 postgres postgres 2.0K Jun 21 21:32 global.stat

не пахнет тут 256-512Mb на одну БД. Но это даёт как минимум уменьшение числа дисковых операций и увеличивает ресурс ссд диска
источник

LK

L K in PostgreSQL + 1C + Linux
cat /sys/kernel/mm/transparent_hugepage/enabled
always [madvise] never
Это Выключено?
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
L K
cat /sys/kernel/mm/transparent_hugepage/enabled
always [madvise] never
Это Выключено?
лучше вот это сделайте:
grep HugePages_ /proc/meminfo
источник

LK

L K in PostgreSQL + 1C + Linux
grep HugePages_ /proc/meminfo
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
источник

LK

L K in PostgreSQL + 1C + Linux
Сергей Голод
-rw------- 1 postgres postgres 4.0K Jun 21 21:32 db_0.stat
-rw------- 1 postgres postgres 2.0M Jun 21 21:32 db_119985756.stat
-rw------- 1 postgres postgres 5.7K Jun 21 21:31 db_13410.stat
-rw------- 1 postgres postgres 2.3M Jun 21 21:32 db_16386.stat
-rw------- 1 postgres postgres 1.1M Jun 21 21:31 db_16387.stat
-rw------- 1 postgres postgres 1.2M Jun 21 21:32 db_16388.stat
-rw------- 1 postgres postgres 1.1M Jun 21 21:32 db_16389.stat
-rw------- 1 postgres postgres 4.8K Jun 21 21:31 db_1.stat
-rw------- 1 postgres postgres 438K Jun 21 21:31 db_218648026.stat
-rw------- 1 postgres postgres 2.0K Jun 21 21:32 global.stat

не пахнет тут 256-512Mb на одну БД. Но это даёт как минимум уменьшение числа дисковых операций и увеличивает ресурс ссд диска
А как так посмотреть?
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
L K
grep HugePages_ /proc/meminfo
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
настоящие hugepagaes у вас не используются, используется transparent hp. Есть разные мнения про то что это замедляет работу, но нет действительно качественных тестов которые это показывают
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
L K
А как так посмотреть?
что посмотреть? не совсем понял
источник

LK

L K in PostgreSQL + 1C + Linux
-rw------- 1 postgres postgres 4.0K Jun 21 21:32 db_0.stat
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
L K
-rw------- 1 postgres postgres 4.0K Jun 21 21:32 db_0.stat
ну я вам со своей системы показал размеры этих файлов при выносе их на рам-диск. Может конечно если у меня база станет 1-2Тб, то и файлы статистики станут 256-512Мб, не знаю)
источник

LK

L K in PostgreSQL + 1C + Linux
Спасибо.
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Сергей Голод
настоящие hugepagaes у вас не используются, используется transparent hp. Есть разные мнения про то что это замедляет работу, но нет действительно качественных тестов которые это показывают
я сталкивался с заметным замедлением от thp
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
Перкона считает что влияние хотя и есть, оно незначительное:
https://www.percona.com/blog/2019/03/06/settling-the-myth-of-transparent-hugepages-for-databases/

но я не исключаю что какие-то отдельные случаи страдают от этого.
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
сильно страдают машины с несколькими сокетами
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
на отдельно выделенном сервере под СУБД я бы вообще настроил настоящие HP, это этого намного больше пользы будет. Но когда сервер используется (через виртуализацию) для разных сервисов, то готов перетерпеть) издержки на THP
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
от той же перконы по настоящим HP:
https://www.percona.com/blog/2018/12/20/benchmark-postgresql-with-linux-hugepages/

и эта же статья в переводе:
https://habr.com/ru/company/southbridge/blog/435558/
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
хрень какая-то
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
но эта презентация тоже от перконы. так что "ноги растут" из того же тестирования видимо. Других результатов не встречал. самому возможности проверить нет, к сожалению
источник