|
|
|
Очень долгий update на 30М записей
|
|||
|---|---|---|---|
|
#18+
nateless, логи postgres`a Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2016, 18:07 |
|
||
|
Очень долгий update на 30М записей
|
|||
|---|---|---|---|
|
#18+
nateless, у вас гигантский поток апдейтов в большой таблице. не взлетит. т.е. не на ПЖ. или надо исхитрятся -- писать события в одну табличку, без апдейтов. "очередь событий". а агрегировать результаты большими пачками и апдейтить -- чтобы снизить поток апдейтов хотя бы на порядок -- другой. чем так мучиться -- поищите более другую СУБД. у ПЖ есть ахиллесова пята. пятища. печаль. или ещё кто--то м.б. что то подскажет. м.б. кто--то таблички такого профиля нагрузки как--то раскидывал. (поток сменных партиций, с дропом очищенных старых, что--то в этом роде. много хенджоба на ровном месте). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2016, 18:21 |
|
||
|
Очень долгий update на 30М записей
|
|||
|---|---|---|---|
|
#18+
nateless, У вас: задержка [тут можно было бы остановиться :) ] на запись ~22мс и 2000 wIOPS — слабо для SSD, латенсия большая. шаренные буфера 16Гб (начальный пост), при этом почти всю "грязь" из шареных буферов выносят чекпойнты (pct_ckpt=97.1), новые блоки почти не выделяются т.к. места и так навалом (new_ratio=0.110), бэкграунд врайтер ничего не делает (pct_bgw=0.0). Из всех контрольных точек треть вынужденная (forced_ratio=33.9), точки происходят часто (min_between=4.30). По картинке — вы дофига пишите в базу (не новость). Для преимущественно пишущих нагрузок нужно ограничивать базу в размере кэша, чтоб к работе с диском подключались все и раньше. Я бы сделал так: - вынес бы `pg_xlog` на отдельный диск, при таких показателях может помочь. - понизил бы шаренные буфера до 2Гб (надо подбирать, конечно) - выкрутил бы bgwriter (вроде уже упоминал) - посмотрел бы на тему понизить fillfactor, только он учитывается при INSERT-ах, соответственно то что есть — не поменяетя. Помониторить после этого. P.S. При выводе iostat-данных вы интервал не убирайте... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2016, 18:23 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39181814&tid=1997396]: |
0ms |
get settings: |
7ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
61ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 372ms |

| 0 / 0 |
