|
|
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
xtron, Про баунсер там скорее дело не в режиме было - а в reset_query. Так. Если дело не в адвизори, то вроде как должны иметь инсерт: Две блокировки на роу - таблица и индекс Одна/две (точно не уверен, может кто подскажет) блокировки на айдишники транзакций - там айдишник и виртуальный айдишник бывают - надо разобраться Шаред блокировка на таблицу. Еще такой вопрос. А там нет никаких триггеров еще случайно, репликаций может еще чего подобного? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 00:08 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, шаред - на сиквенс там -- вам надо точно поймать бекенд один подозрительный и вывести все блокировки в нем которые ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 00:17 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
xtron, а какой модуль в node используете для постгреса? ноде же хитрая штука. она там как-то хитро синхронится может и может чего своего добавляет ко взаимодействию с базой. вам надо попробовать эти инсерты напрямую, например из пгадмина или псикуеля. в одной сессии подвешиваем транзакцию Код: sql 1. а в другой смотрим за локами и сравниваем с тем, что видно через node. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 01:28 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
Misha Tyurinxtron, а какой модуль в node используете для постгреса? ноде же хитрая штука. она там как-то хитро синхронится может и может чего своего добавляет ко взаимодействию с базой. вам надо попробовать эти инсерты напрямую, например из пгадмина или псикуеля. в одной сессии подвешиваем транзакцию Код: sql 1. а в другой смотрим за локами и сравниваем с тем, что видно через node. как альтернатива можно включить log_min_duration_statement=0 минут на 5 и посмотреть какие реально запросы в лог ходят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 02:45 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
Maxim BogukMisha Tyurinxtron, а какой модуль в node используете для постгреса? ноде же хитрая штука. она там как-то хитро синхронится может и может чего своего добавляет ко взаимодействию с базой. вам надо попробовать эти инсерты напрямую, например из пгадмина или псикуеля. в одной сессии подвешиваем транзакцию Код: sql 1. а в другой смотрим за локами и сравниваем с тем, что видно через node. как альтернатива можно включить log_min_duration_statement=0 минут на 5 и посмотреть какие реально запросы в лог ходят. вообще не понятно что смущает... все локи какие должны быть на месте лишего ничего нет вроде... основные локи тут это ROW EXCLUSIVE Conflicts with the SHARE, SHARE ROW EXCLUSIVE, EXCLUSIVE, and ACCESS EXCLUSIVE lock modes. The commands UPDATE, DELETE, and INSERT acquire this lock mode on the target table (in addition to ACCESS SHARE locks on any other referenced tables). In general, this lock mode will be acquired by any command that modifies data in a table. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 02:48 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, вспомнил, вот написано тут http://www.postgresql.org/docs/9.1/static/view-pg-locks.html любая транзакция лочит свой виртуальный айди, а если она еще и меняет базу (например, инсерт), то у неё появляется реальный айди и она и его тоже лочит. итого ваш инсерт должен вроде давать 5 блокировок (где-то у вас так и видно). 1) RowExclusiveLock: две на строки - таблица и индекс 2) AccessShareLock на сиквенс 3) две на айдишники транзакции еще раз глянул ваши локи - адвизори мешает, как кажется. вы мой запрос перепишите, сделайте группировку по locktype - должно стать понятно. Код: sql 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. это в дополнение ко всему остальному) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 03:04 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, триггеров на таблицу никаких нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:41 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
xtron, Код: sql 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. вот еще помониторте так. и как советовал Maxim Boguk можете посмотреть что там на базу валится через логи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:43 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
Misha Tyurin, cat /etc/pgbouncer/pgbouncer.ini | grep server_reset_query server_reset_query = SET SESSION AUTHORIZATION DEFAULT; RESET ALL; DEALLOCATE ALL; CLOSE ALL; UNLISTEN *; SELECT pg_advisory_unlock_all(); DISCARD PLANS; DISCARD TEMP; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:45 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, log_min_duration_statement=0 бессмысленно - все запросы мои ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:47 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
Misha Tyurinxtron, а какой модуль в node используете для постгреса? ноде же хитрая штука. она там как-то хитро синхронится может и может чего своего добавляет ко взаимодействию с базой. pg https://github.com/brianc/node-postgres ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:49 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
xtron, ну это чтобы наверняка исключить вмешательство node . и проверти еще через подвешивание интсерта не через ноду, а на прямую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:49 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
Maxim Bogukвообще не понятно что смущает... все локи какие должны быть на месте лишего ничего нет вроде... смущает EXCLUSIVE lock, не ROW EXCLUSIVE а именно EXCLUSIVE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.12.2011, 17:50 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
2All, а на чём сошлись ? А то на записи блобов в тосты имею это самое "ExclusiveLock". а как подопрет с диском -- так и множественно. и чего ждут -- без стаканА не ясно. 'extend''pg_toast.pg_toast_816650291'25025'select r::void from XXXX_set_proxy($1::int4,$2::int8,$3::"numeric",$4::"timestamp",$5::bytea,$6::date,$7::"varchar") r''ExclusiveLock'32724'select r::void from XXXX_set_proxy($1::int4,$2::int8,$3::"numeric",$4::"timestamp",$5::bytea,$6::date,$7::"varchar") r''ExclusiveLock' запрос цельнотянутый из инетов. примерно такой Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. -- чтобы квери читать, значится. есть идеи ? навскидку -- ничего не альтерится нигде. set ф--ии читают что---то по-мелочи, не лоча, и пишут в табличку с блобами. -- т.е. , похоже, при записи тостов имеет место ExclusiveLock ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2016, 12:32 |
|
||
|
ExclusiveLock
|
|||
|---|---|---|---|
|
#18+
qwwq, Проблема разбиралась много раз. Называется relation extenstion locking (ExclusiveLock на таблицу когда к файлу новую страницу добавляют). Например вот http://www.postgresql.org/message-id/flat/7DC73570-1A80-470D-8B7B-46E2713C41D4@simply.name#7DC73570-1A80-470D-8B7B-46E2713C41D4@simply.name]http://www.postgresql.org/message-id/flat/7DC73570-1A80-470D-8B7B-46E2713C41D4@simply.name#7DC73570-1A80-470D-8B7B-46E2713C41D4@simply.name Причины может быть две что этот лок надолго вылезает: 1)перегруженная дисковая система и в итоге просто file append долгий 2)многовато выделено shared buffers (редкий случай когда это может быть конкретно вредно). Судя по http://www.postgresql.org/message-id/flat/CAJjS0u3oVpuSAT8NviryeRNqA0nj8WEEXfSx=uRPqWF1=ORSVg@mail.gmail.com#CAJjS0u3oVpuSAT8NviryeRNqA0nj8WEEXfSx=uRPqWF1=ORSVg@mail.gmail.com]http://www.postgresql.org/message-id/flat/CAJjS0u3oVpuSAT8NviryeRNqA0nj8WEEXfSx=uRPqWF1=ORSVg@mail.gmail.com#CAJjS0u3oVpuSAT8NviryeRNqA0nj8WEEXfSx=uRPqWF1=ORSVg@mail.gmail.com если я правильно понял в 9.6 это будет исправлено. -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2016, 12:49 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=37586025&tid=1997287]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
73ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 544ms |

| 0 / 0 |
