@dba_ru

Страница 426 из 718
Google
Олег
20.02.2018
11:34:48
повторю свой вчерашний вопрос внятным языком. есть скуль, в нём делается prepared statement, его видно в full processlist; как мне посмотреть запрос с подставленными значениями?

сейчас там видно знаки вопроса вместо ряда значений

мне важно понять, какой тип передаётся в качестве значений - строка или число

лог запросов тут поможет?

Ilia
20.02.2018
11:37:32
Олег, я не знаю, но полагаю, что никак. Например, в Oracle дела обстоят именно таким образом.

Олег
20.02.2018
11:37:49
это чёто хрень =\

Ilia
20.02.2018
11:38:14
лог запросов тут поможет?
ЛОг запросов поможет , если это лог со стороны приложения, и в нём есть параметры.

Mikhail
20.02.2018
11:38:23
в Оракл и правда никак

только со стороны аппликации

за другие DB не скажу

Sergey
20.02.2018
11:39:04
в Оракл и правда никак
Не всё так плохо в Oracle. Есть же tcpdump и gdb!

Vladislav
20.02.2018
11:40:05
ээээ, погодите, почему в базе нельзя посмотреть лог? там же конечный запрос с параметрами должен работать

Mikhail
20.02.2018
11:40:31
Не всё так плохо в Oracle. Есть же tcpdump и gdb!
ну таки это не в Оракл же, а вообще))))

Google
Олег
20.02.2018
11:40:31
там самописный объектный интерфейс поверх mysqli, поэтому со стороны приложения слегка запарно

Ilia
20.02.2018
11:40:31
Работать да, а логироваться не обязан

Vladislav
20.02.2018
11:40:55
а ну тут профайлер должен помочь

Mikhail
20.02.2018
11:40:57
ээээ, погодите, почему в базе нельзя посмотреть лог? там же конечный запрос с параметрами должен работать
я сам не DBA, но наши DBA мне отвечали однозначно - вытащить из БД запрос с подставновками мы не можем

*из продакшн ЬД

Ilia
20.02.2018
11:41:15
а ну тут профайлер должен помочь
Давно в MySQL есть профайлер?

Vladislav
20.02.2018
11:41:46
Давно в MySQL есть профайлер?
https://habrahabr.ru/post/70435/

я аж вздрогнул

Sergey
20.02.2018
11:42:06
ну таки это не в Оракл же, а вообще))))
Вот тут ребята делают с Oracle такое что стыдно становится. Но оторваться невозможно. https://pgday.ru/presentation/176/5964a4211ee6e.pdf

Олег
20.02.2018
11:42:42
а ну тут профайлер должен помочь
он работает только интерактивно же, в рамках сессии? мне надо перехватить "левые" запросы, от приложения

Олег
20.02.2018
11:44:33
ставит set profiling=1; и сссия профилируется

идущие параллельно от приложения запросы не профилируются

и вообще оно депрекейтед и всех гонят в perfomance_schema

Vladislav
20.02.2018
11:45:40
хотя, на сколько я вижу, профайлинг так себе в мускуле, поэтому надо через логи делать

ДБА пускай включат логгирование и смотрите

lost
20.02.2018
11:46:03
нормальный там профайлинг, ну шо вы начинаете

Олег
20.02.2018
11:46:03
там я Дба

lost
20.02.2018
11:46:06
алло

Олег
20.02.2018
11:46:17
очень не хочется логи включать, там в час пик 300+ rps =\

Google
Vladislav
20.02.2018
11:46:19
lost
20.02.2018
11:46:35
так вы теплое с мягким путаете

профайл для конкретного запроса делается

Олег
20.02.2018
11:49:01
а в сторону ps смотрел?
а там же не видно какой запрос работает. и даже если видно, то я сомневаюсь, что там будет что-то отличное от того, что я вижу в processlist

lost
20.02.2018
11:49:28
как это не видно... видно ещё как... если она у тебя включена, конечно

Mikhail
20.02.2018
11:49:44
я вот помню в постгре мой сисадмин что-то заводил такое с tcpdump-ом, что вытаскивал полные запросы

lost
20.02.2018
11:51:30
performance_schema.events_statements_history Загляни сюда, учитывая что у тебя 300rps в пике, не думаю, что она у тебя будет перезаписываться быстро, и ты сможешь поймать свой квери...

Mikhail
20.02.2018
11:53:46
запросы tcpdumpом с бинарного протокола ? ну.. такое..
мне кажется tcpdump, но я могу наврать, тому уже го 4 как

нука

Alex
20.02.2018
11:53:57
скорее включал tail -f с логов на полную катушку

Mikhail
20.02.2018
11:55:06
не

tail я бы и сам включил

я точно помню, он какую-то магию творил

Alex
20.02.2018
11:55:50
я точно помню, он какую-то магию творил
тогда уточни у него, думаю будет интересно

Google
Олег
20.02.2018
11:55:54
так что это или сильное колдунство, или другая ситуация

Alex
20.02.2018
11:56:12
вот я тоже думаю что, сказочно немного

lost
20.02.2018
11:56:51
в любом случае у тебя запрос отдельно от переменных не выполнится, а значит в ps он попадёт :)

Alex
20.02.2018
11:57:12
а если через курсор ? то поймаешь только фетчи

Mikhail
20.02.2018
11:57:34
вот, например

https://blog.timstoop.nl/posts/2008/11/03/sniffing-postgresql-queries-with-tsharkwireshark.html

wireshark имеет модуль, который это умеет

lost
20.02.2018
11:58:04
Ну давайте достанем телескоп, чтобы набрать номер на телефоне...

Mikhail
20.02.2018
11:58:14
не, я могу ему написать, но я дуумаю ,что он тоже не помнит

lost
20.02.2018
11:58:15
Без него же никак не получится...

Mikhail
20.02.2018
11:58:22
я таки думал, что tcpdump

не, я как программист всё ловлю со стороны приложения

оборачивая коннекшн к бд во враппер ,который логгирует все запросы с временим исполнения

Alex
20.02.2018
12:11:12
ну вот в wireshark еще поверю

Vladislav
20.02.2018
12:16:01
Я что-то не пойму, реально в этих базах нет логирования запросов?

Мне кажется, кто-то просто не хочет искать

Олег
20.02.2018
12:26:41
general_log подошёл, спасибо

Alex
20.02.2018
12:37:32
но иногда это мало чем помогает

Google
Vladislav
20.02.2018
12:38:55
Так задача узнать, что в параметры подставляется, в базы пишут именно исполняемые запросы

Alex
20.02.2018
12:40:30
в постгресе это разными строчками логируется

на отдельной базе получить что надо нет особых проблем

на проде - так се

Vladislav
20.02.2018
12:41:46
я что-то не понимаю, никто прод не логирует?

какой-то странный у вас прод

Alex
20.02.2018
12:44:52
далеко не все и не всё

Vladislav
20.02.2018
12:46:21
мне прям стало интересно, как дба проводят анализ без профилирования запросов

Alex
20.02.2018
12:51:02
а кто сказал что без профилирования ?

вроде речь про логирование была

а не про профилирование

Vladislav
20.02.2018
12:52:36
ну в моем понимании профайлинг сохраняет полный запрос, в случае с mysql это как-то недопрофайлинг

Anton
20.02.2018
12:53:05
@SLASH_CyberPunk есть там тьма разных, в т.ч. и расширенных

Топиккастер просто не хотел их применять боясь оверхеда

Vladislav
20.02.2018
12:53:34
тогда я не понимаю проблемы узнать запрос со значениями параметров

Rookie
20.02.2018
14:39:30
Ребята, время нубских вопросов. Я не дба. Скажите, нужно ли witness ноду кластера добавлять в список haproxy? Нужен ли на ней pgbouncer? Нужен ли в принципе pgbouncer в пг кластере со streaming repl? Witness нода - полноправный член кластера? То есть, помимо роли арбитра она выполняет все остальные функции standby ноды?

Al
20.02.2018
15:13:25
Я ВЕЛИКИЙ МАГ И ВОЛШЕБНИК!
Без сертификатов! Гыы

Ilia
20.02.2018
15:16:48
Увы

Al
20.02.2018
15:50:17
Увы
У меня глаз дергается когда вижу подобные многострочные запросы. Имхо но показатель 1. Либо база через ж 2. Либо человек сам не понимает чего он хочет найти

Особенно если попробовать представить как подобные портянки на стороне базы распарсиваются и пытаются испольнить. ?

lost
20.02.2018
16:05:10
ты ещё портянок не видывал...

Страница 426 из 718