|
Как узнать, какие таблицы/записи ожидает запрос
|
|||
---|---|---|---|
#18+
Приветствую! Подскажите, пожалуйста, как можно проследить, что происходит в БД во время выполнения запроса. htop показывает, что один из процов грузит процесс pgsql. В pg_stat_activity показывает, что выполняется процедура. Внутри процедуры идут два DELETE операции. Код: plsql 1. 2. 3. 4. 5. 6.
То есть, в какой-то момент времени, в логах постоянно висит эта процедура и один из процессоров забит на 100%. Индексы на эти таблицы стоят. Есть предположение, что в какой-то момент эта процедура запускается для каждого user_id (несколько раз) и происходит коллизия. Но это только лишь предположение...потому что локов в pg_locks тоже не наблюдается в этот момент. Отсюда вопрос, можно ли включить логирование таких моментов, чтобы было видно, какой запрос, что ждет и почему сильно грузится процессор? Не исключаю, что сам запрос тоже написан не корректно, что вызывает тормоза. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 21:05 |
|
Как узнать, какие таблицы/записи ожидает запрос
|
|||
---|---|---|---|
#18+
qi_ip, log_lock_waits. Но ожидание чего-либо не даст 100% cpu. Скорее у вас FK без индексов ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 21:09 |
|
Как узнать, какие таблицы/записи ожидает запрос
|
|||
---|---|---|---|
#18+
Melkij, вот скрипты создания БД. Индекс стоит ((( Код: 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. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2020, 21:24 |
|
Как узнать, какие таблицы/записи ожидает запрос
|
|||
---|---|---|---|
#18+
qi_ip, Not in довольно дорогая операция, и плохо поддается оптимизации. Лучше удаляйте последовательно известные компоненты. Код: plsql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2020, 06:20 |
|
Как узнать, какие таблицы/записи ожидает запрос
|
|||
---|---|---|---|
#18+
Swa111 qi_ip, Not in довольно дорогая операция, и плохо поддается оптимизации. Лучше удаляйте последовательно известные компоненты. Код: plsql 1. 2. 3.
Спасибо большое за совет! Попробую оптимизировать! ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2020, 11:06 |
|
|
start [/forum/topic.php?fid=53&msg=40027512&tid=1994315]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 310ms |
total: | 455ms |
0 / 0 |