obproxy慢查询

【 使用环境 】试环境
【 OB or 其他组件 】 obproxy
【 使用版本 】3.2
问题1:数据库的话直接使用慢查询的参数*slow_log**就可以,为什么proxy还有监控的功能呢,具体意义是?
问题2:若要通过obproxy监控慢查询,具体是用哪个参数?
下面的第一个和第三个参数,应该是用于记录慢查询的吧,第三个参数只是不包括返回给客户端的时间,其他接收sql,转发,ob执行,时间都算里面了是吧。那要是记录慢查询具体用哪个? 我看官网说一般调整第一个就行

slow_transaction_time_threshold 指慢查询或事务的整个生命周期的时间阈值,超过了该时间,就会打印相关日志。
slow_proxy_process_time_threshold 在发往 Server 前 Proxy 本身的处理时间,包括获取集群信息、路由信息、黑名单信息等。
slow_query_time_threshold 指从 OBProxy 获取 SQL 直到返回给客户端之前的这段时间的阈值,超过了该时间,也会打印相关日志。

SQL 从 obproxy 经过,obproxy就有能力统计sql执行时间。这段时间包含 OBPROXY到 OB 来回以及OB内部的执行时间。
SQL 在 OB中执行,OB自然也能统计sql执行时间,这段时间仅为 SQL 在 OB 集群内部执行时间(包括节点之间可能的跳转和多个节点内部执行时间)。

三个参数只是统计时间的范围不同告警阈值不一样。第一个是事务级别,第三个是语句级别。第二个存粹是OBProxy自己的逻辑的处理时间。

详情参考:OB 从应用到数据库全链路分析

1 个赞

谢谢老师,具体我再测下第一个和第三个,改改试试