Size: a a a

PostgreSQL + 1C + Linux

2020 July 10

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Сергей Голод
можно я тоже доклад брошу с PGCon? Чуть посвежее, от одного из основателей PGCON? Dan Langille

https://www.pgcon.org/2018/schedule/attachments/484_PGCon2018-ZFS.pdf

страница 20
Посмотрел, но там нет бенчей
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
Grigory Smolkin
Типа оно так себя на предмет своих собственных косяков проверяет?
источник

LK

L K in PostgreSQL + 1C + Linux
Alexey Fedotov
Какого рода проблемы привели к отказу от использования?
Алексей почитайте даже этот чат, все было - проблемы с печатью, проблемы с кодовой страницей выгрузки в казначейство.
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
А, понятно, silent repair
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Да, это звучит полезно
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
Grigory Smolkin
Посмотрел, но там нет бенчей
там есть про отключение checksum в инстансе. А бенчи я делал у себя на pg_bench. Страдают в первую очередь инсёрты:

root@sql# time /opt/pgpro/1c-11/bin/pgbench -U postgres -i -s 1000 pgbench
....
100000000 of 100000000 tuples (100%) done (elapsed 76.33 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done.

real  4m54.682s
user  0m13.867s
sys  0m0.314s

root@sql# time /opt/pgpro/1c-11/bin/pgbench -U postgres -i -s 1000 pgbench
....
100000000 of 100000000 tuples (100%) done (elapsed 67.62 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done.

real  2m14.153s
user  0m14.322s
sys  0m0.364s


второй результат это на кластере с отключенными чексуммами
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Сергей Голод
там есть про отключение checksum в инстансе. А бенчи я делал у себя на pg_bench. Страдают в первую очередь инсёрты:

root@sql# time /opt/pgpro/1c-11/bin/pgbench -U postgres -i -s 1000 pgbench
....
100000000 of 100000000 tuples (100%) done (elapsed 76.33 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done.

real  4m54.682s
user  0m13.867s
sys  0m0.314s

root@sql# time /opt/pgpro/1c-11/bin/pgbench -U postgres -i -s 1000 pgbench
....
100000000 of 100000000 tuples (100%) done (elapsed 67.62 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done.

real  2m14.153s
user  0m14.322s
sys  0m0.364s


второй результат это на кластере с отключенными чексуммами
Космос
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Сергей Голод
там есть про отключение checksum в инстансе. А бенчи я делал у себя на pg_bench. Страдают в первую очередь инсёрты:

root@sql# time /opt/pgpro/1c-11/bin/pgbench -U postgres -i -s 1000 pgbench
....
100000000 of 100000000 tuples (100%) done (elapsed 76.33 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done.

real  4m54.682s
user  0m13.867s
sys  0m0.314s

root@sql# time /opt/pgpro/1c-11/bin/pgbench -U postgres -i -s 1000 pgbench
....
100000000 of 100000000 tuples (100%) done (elapsed 67.62 s, remaining 0.00 s)
vacuuming...
creating primary keys...
done.

real  2m14.153s
user  0m14.322s
sys  0m0.364s


второй результат это на кластере с отключенными чексуммами
А если унести вал на другую файловую систему?
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Я вангую, что эта деградация - из-за замедления записи в вал
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
Grigory Smolkin
А если унести вал на другую файловую систему?
ну лучше в таком случае создать под WAL отдельный датасет с другими параметрами. Ну и конфиг ПГ в части wal поправить с учётом что WAL размещён на ZFS.
нет, там nvme диски. Дисковая подсистема не нагружена в данном тесте
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Так упирается не в диск, а в cpu
источник

AF

Alexey Fedotov in PostgreSQL + 1C + Linux
L K
Алексей почитайте даже этот чат, все было - проблемы с печатью, проблемы с кодовой страницей выгрузки в казначейство.
давно дело было?
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Все эти zfs штуки не очень полезны для вал
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
Grigory Smolkin
Все эти zfs штуки не очень полезны для вал
для вал при использовании ZFS рекомендуется другое:
synchronous_commit = off                # default on, synchronization level;
full_page_writes = off                  # default on, recover from partial page writes
wal_init_zero = off                     # default on, zero-fill new WAL files
wal_recycle = off                       # default on, recycle WAL files
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Сергей Голод
для вал при использовании ZFS рекомендуется другое:
synchronous_commit = off                # default on, synchronization level;
full_page_writes = off                  # default on, recover from partial page writes
wal_init_zero = off                     # default on, zero-fill new WAL files
wal_recycle = off                       # default on, recycle WAL files
Ну неет, это не катит - фс нужно подстраивать под БД, а не наоборот
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Сергей Голод
для вал при использовании ZFS рекомендуется другое:
synchronous_commit = off                # default on, synchronization level;
full_page_writes = off                  # default on, recover from partial page writes
wal_init_zero = off                     # default on, zero-fill new WAL files
wal_recycle = off                       # default on, recycle WAL files
Синхронный коммит - это вообще бизнес-параметр
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Сергей Голод
для вал при использовании ZFS рекомендуется другое:
synchronous_commit = off                # default on, synchronization level;
full_page_writes = off                  # default on, recover from partial page writes
wal_init_zero = off                     # default on, zero-fill new WAL files
wal_recycle = off                       # default on, recycle WAL files
Без fpw вообще страшно жить
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
Grigory Smolkin
Без fpw вообще страшно жить
на zfs не страшно
источник

GS

Grigory Smolkin in PostgreSQL + 1C + Linux
Сергей Голод
на zfs не страшно
Я вот не уверен на 100%
источник

СГ

Сергей Голод... in PostgreSQL + 1C + Linux
Grigory Smolkin
Я вот не уверен на 100%
https://www.postgresql.org/docs/12/wal-reliability.html
....
If you have file-system software that prevents partial page writes (e.g., ZFS), you can turn off this page imaging by turning off the full_page_writes parameter.
источник