|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Приветствую! Помогите разгадать загадку: Intel Xeon E5 2690, работает без турбобуста. т.е. на 2.9Ггц Память 1600 Мгц, 50гб... ОС: CentOS 7 ФС: ext4 Диски SАTA SSD в RAID 10, с кешем в режиме writeback... Версия pg 12.8 Основное назначение это богомерзкий 1С :), не в этом суть... временные таблицы вынесены на tmpfs в оперативку pg_stat там же... Размер баз позволяет их держать в памяти, и на диски создается только нагрузка от чекпоинтов... т.е. диски не нагружены совсем... Конфиг настроен под 1С, настройки кручены всякие и по всякому... в итоге: max_connections = 500 shared_buffers = 15GB temp_buffers = 128MB work_mem = 256MB maintenance_work_mem = 2GB vacuum_cost_limit = 400 bgwriter_delay = 50ms bgwriter_lru_maxpages = 500 bgwriter_lru_multiplier = 4.0 effective_io_concurrency = 200 synchronous_commit = off wal_buffers = 16MB wal_writer_delay = 1000ms commit_delay = 1000 commit_siblings = 5 checkpoint_timeout = 5min min_wal_size = 2GB max_wal_size = 4GB seq_page_cost = 0.1 random_page_cost = 0.1 cpu_tuple_cost = 0.01 cpu_index_tuple_cost = 0.05 cpu_operator_cost = 0.025 jit_above_cost = -1 effective_cache_size = 25GB default_statistics_target = 1000 cursor_tuple_fraction = 0.5 autovacuum = on Результат PGBench на абсолютно свободном сервере, выполняется только pgbench, удручает... Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Под нагрузкой, хоть минимальной, tps может проседать до 1500, и latency до 2.5 мс Использование ЦП процессами в момент выполнения теста, 60-80%, запись на диски 70-80КБ..., если оставить shared_bufers в минимуме, тогда запись на диски 7-8 МБ, от каждого процесса... на результат это не влияет... Ни какие настройки особого воздействия на pgbench более не оказывают. Естественно, при такой ситуации тормоза при записи в базы бесящие... Люди работают, но так быть не должно... Все операции выполняются в памяти, поему могут быть такие тормоза? Что еще можно копнуть? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 16:43 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Вот результат того же теста только параллельно с выполнением гилева: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 16:53 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
astbur, Для начала отключите commit_delay (=0) и перетестируйте. Остальное более менее ок... Так же можно поднять checkpoint_timeout до 60min и max_wal_size в 16GB (но это уже вторично). Если не поможет - будем дальше смотреть, там за дисковой утилизацией и latency на запись смотреть надо. PS: второй вариант - у вас ssd диски не очень удачные для базы. (оно как раз будет по latency видно на записи)... iostat -xmd 1 во время теста посмотреть можно. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 18:58 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Любые изменения пишутся в wal. Замерьте до pgbench и после Код: sql 1. 2.
и эти настройки покажите Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 19:04 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Maxim Boguk, iostat с commit_delay = 0 Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59.
Но он в общем-то всегда такой... И вот результат теста: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Так же без особых изменений... Чекпоинт и размер лога так же не влияют, ибо запись на диск в даннмо случае минимальная... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 19:22 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Guzya, Тут всё ввыглядит последовательно, всё идет по таймаутам, я так понимаю.. варнингов в логах тоже нет... Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 19:25 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Только сейчас увидел: bgwriter_flush_after не мало-ли? Ну и забыл - вы в целях теста базу пгбенч вынес на рамдиск, не изменилось ничего... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 19:28 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Попробовал поиграть с bgwriter_flush_after, не влияет ни на что, просто bgwriter стал постоянно писать на диск... Вывод райтера после 2х пгбенчей Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 19:35 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
pg_wal тоже переносил для теста на рамдиск, ничего не поменялось от слова совсем.... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 19:54 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
предлагаю bgwriter_lru_maxpages = 7000 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 20:00 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Guzya, ничего не дало... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 20:16 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Покажите, что pgbench дб Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 20:47 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Guzya, Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 20:51 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Блин... 4 утра!! Спасибо откликнувшимся ) Я пойду спать, завтра продолжу :) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 20:52 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
astbur Блин... 4 утра!! Спасибо откликнувшимся ) Я пойду спать, завтра продолжу :) У меня на достаточно слабом ноуте получается Код: plaintext 1. 2.
Сколько ядер на вашем процессоре (физических без учёта hyperthreading)? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 21:27 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Может это виртуалка, а не железный сервер. И там гипервизар глючит. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 22:22 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Еще предлагаю в один поток посмотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2022, 23:11 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Guzya, Тут в точку, это ESXI, его уже тоже перетрес, вроде всё выглядит хорошо, остальные виртуалки работают не чихают, перегруза ни по ядрам ни по оперативке нет, превышений тоже нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2022, 03:32 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
astbur Guzya, Тут в точку, это ESXI, его уже тоже перетрес, вроде всё выглядит хорошо, остальные виртуалки работают не чихают, перегруза ни по ядрам ни по оперативке нет, превышений тоже нет... Сделайте резервацию ресурсов проца и памяти для этой виртуалки(бывали такие проблемы). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2022, 10:02 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Guzya astbur Guzya, Тут в точку, это ESXI, его уже тоже перетрес, вроде всё выглядит хорошо, остальные виртуалки работают не чихают, перегруза ни по ядрам ни по оперативке нет, превышений тоже нет... Сделайте резервацию ресурсов проца и памяти для этой виртуалки(бывали такие проблемы). А покажите вывод top -i во время теста где то в серединке из виртуалки. PS: а сколько вы ядер то выделили ей? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2022, 10:26 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
И так, всем снова здравствуйте! :) Резервацию ресурсов делал в первую очередь, никакого результата не дало, top -i ничего полезгого не показывал, ибо вывода вообще какого-либо небыло... А теперь самое интересное! Сделал неочевидную вещь, снизил shared_buffer до 400MB, и получил следующую картину: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
И это при вялотекущей работе пользователей на сервере, в пустом состоянии было 8042 tps Помимо этого, наконец появилась высокая активность walwriter на запись, до 80MB/s Вопрос - где логика? :D Считать ли этот показатель нормальным для моей конфигурации... Гилев, кстати, показывает все равно 21-22 попугая... как и было до этого... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2022, 14:23 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Запустил УТ 11.5, под которую это все, собственно, и затеяно было, попроводил доки, вроде как даже пошустрее стало... Завтра под нагрузкой будет видно... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2022, 14:31 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
astbur Вопрос - где логика? :D astbur number of clients: 8 ... tps = 7689.947129 (including connections establishing) astbur number of clients: 4 ... tps = 4826.419872 (including connections establishing) Действительно непонятно (сарказм). ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2022, 14:49 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Melkij, Балин... каюсь, прохлопал :) Но: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
Это параллельно с выполнением теста гилева, и предварительным закрытием месяца в УТ... Вчера только параллельно с гилевым было 1.5к всего... Так что результат, ка кни странно, есть... Ну и субъективные ощущения от работы в базе есть... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2022, 15:01 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Судя по всему, изменение настройки дало то, что при параллельных операциях не так сильно проседает tps... Сам тпс, поднялся не значительно... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.02.2022, 15:30 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
В общем я в растерянности... Настройки pg ни дают вообще никакого результата, настройки ОС так же... Даже если выключить все виртуальные машины, оставив только сервер с БД, база работать быстрее не начинает... Она будто уперлась в какой-то потолок... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2022, 01:52 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Перенесите бд pgbench и wal на диск (из памяти). И давайте смотреть с этой стороны. Установлены ли Vmware tools в ОС? Покажите, как зарезервировали цпу и озу. Как подключены диски (схд\локальные\raw\...)? Какая версия ESXi\Vmware ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2022, 09:54 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
astbur В общем я в растерянности... Настройки pg ни дают вообще никакого результата, настройки ОС так же... Даже если выключить все виртуальные машины, оставив только сервер с БД, база работать быстрее не начинает... Она будто уперлась в какой-то потолок... поставьте базу на хост железный и попробуйте тесты... PS: для 4х потоков у вас нормальные TPS более или менее... просто надо больше ядер и в большее количество потоков работать возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2022, 10:03 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Guzya, Всё это пробовал улучшений нет... Но - после манипуляций с shared_memory просадки по tps под общей нагрузкой стали заметно меньше, и в целом все работают нормально... Хотелось бы лучше, но я понимаю что это уже только замена памяти на DDR4 и, возможно, процессора на какой-нибудь голд... В любом случае, меня удивляет разница между тестами гилева в файловом варианте, 49 попугаев, и в бд, 22... Я ожидал лучшего... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2022, 14:10 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
Еще одна странная особенность - после этих манипуляций, вот уже спустя 2 дня rphost 1С сервера занимает в памяти всего 4ГБ... Хотя до этого его обычное состояние 12-16 гб... Видимо тут и был какой-то конфликт... Тут я пока беспомощен... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2022, 14:13 |
|
Проблемы с insert/update
|
|||
---|---|---|---|
#18+
В общем подводим итоги - Большой shared_buffers не всегда хорошо, в моем случае оптимальный вариант оказался 400MB Это 10 баз 1С от 4 до 12ГБ каждая. PostgreSQL и 1С на одном сервере, работа через сокет. 70 ГБ оперативки, но по идее еще 10 подкинуть стоит т.к. занято к концу рабочего дня 60... 70-85 одновременных пользователей 1С, в различных базах, в одной минимум 75 остальные размазано из их же числа... Сегодня тест pgbench в 4 потока, в час пик, выдал 4.5к тпс... Работа относительно комфортна, особенно если смотреть на то, какой железо... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.02.2022, 13:54 |
|
|
start [/forum/topic.php?all=1&fid=53&tid=1993637]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 231ms |
total: | 347ms |
0 / 0 |