配置参数修改
TiDB也支持输出慢查询日志,通过修改配置文件可以指定慢查询日志的文件名以及耗时阈值。
配置文件 /home/tidb/deploy/conf/tidb.toml
slow-threshold 输出慢日志的耗时阈值, 默认300ms。当查询大于这个值,就会当做是一个慢查询,输出到慢查询日志。
slow-query-file 慢查询的日志文件名,默认为空,输出到/home/tidb/deploy/log/tidb_slow_query.log
日志格式
慢查询输出的日志格式
2018/08/31 10:33:38.121 adapter.go:353: [warning] [SLOW_QUERY] cost_time:459.494945ms succ:true connection_id:1321673 txn_start_ts:402570036540604442 database:online_meter table_ids:[38805] index_ids:[2] sql:SELECT
api_meterrecord
.account_id
,api_meterrecord
.date
,api_meterrecord
.step_at_nine
,api_meterrecord
.frozen
FROMapi_meterrecord
WHERE ((api_meterrecord
.account_id
= 2268097 ORapi_meterrecord
.account_id
= 6447246) ANDapi_meterrecord
.date
>= '2018-07-02') ORDER BYapi_meterrecord
.date
ASC
- cost_time 执行时间
- succ 是否执行成功
- connection_id 即session_id, 同一session上的语句顺序执行,可通过这个id查询执行日志
- txn_start_ts 事务的开始时间戳,也是事务的 ID, 可以用这个值在日志中 grep 出事务相关的日志
ansible配置修改
因为TiDB通过ansible进行部署,需求修改ansible配置来使线上配置文件生效
[ inventory.ini]
enable_slow_query_log = True