近期由于新上的一个系统新版本出现了 bug,现象是某个 HTTP 接口会在接受一定量请求之后 hang 住,伴随着产生了大量调用方的超时报警。由于新上的系统不是面向用户的系统,所以要求运维保留现场,关掉了触发问题请求的任务,开始排查问题。 最后找到问题的原因很简单:sqlx 库使用了 Queryx 方法,查询由于只是判断记录是否存在,所以并没有读取返回的 Rows,这就导致了一个问题,就 ...
近期由于新上的一个系统新版本出现了 bug,现象是某个 HTTP 接口会在接受一定量请求之后 hang 住,伴随着产生了大量调用方的超时报警。由于新上的系统不是面向用户的系统,所以要求运维保留现场,关掉了触发问题请求的任务,开始排查问题。 最后找到问题的原因很简单:sqlx 库使用了 Queryx 方法,查询由于只是判断记录是否存在,所以并没有读取返回的 Rows,这就导致了一个问题,就 ...