近期由于新上的一个系统新版本出现了 bug,现象是某个 HTTP 接口会在接受一定量请求之后 hang 住,伴随着产生了大量调用方的超时报警。由于新上的系统不是面向用户的系统,所以要求运维保留现场,关掉了触发问题请求的任务,开始排查问题。 最后找到问题的原因很简单:sqlx 库使用了 Queryx 方法,查询由于只是判断记录是否存在,所以并没有读取返回的 Rows,这就导致了一个问题,就 ...
近期由于新上的一个系统新版本出现了 bug,现象是某个 HTTP 接口会在接受一定量请求之后 hang 住,伴随着产生了大量调用方的超时报警。由于新上的系统不是面向用户的系统,所以要求运维保留现场,关掉了触发问题请求的任务,开始排查问题。 最后找到问题的原因很简单:sqlx 库使用了 Queryx 方法,查询由于只是判断记录是否存在,所以并没有读取返回的 Rows,这就导致了一个问题,就 ...
Go 版本:1.14.4 macOS 版本:10.15.5 从一段代码说起 请看下面 Go 代码: package main import ( "fmt" "time" ) func main() { fmt.Println(time.Now().UnixNano()) fmt.Println(time.Now().UnixNano()) fmt.Pr ...
偶尔会用 Laravel 开发一些小东西玩,不过每次做相关数据库查询代码的时候,看不到某个接口或者页面执行了那些 SQL 会没有安全感(laravel-debugbar 还是有点重),所以一般我都会写一个小工具来实时查看,下面就是小工具的完整代码(在 Laravel5.6 版本之上)。 第一件事是需要写一个 SQL 的日志服务提供者: <?php namespace App\P ...