go中使用gin框架,接收json简单处理的一段代码耗时为什么偶尔达到300ms?
1. 运行环境
go1.19 linux/amd64
2. 问题描述?
func DoRerank(c *gin.Context) {
startTime1 := time.Now()
var requestData model.RequestRerankInfo
err := c.ShouldBindJSON(&requestData)
if err != nil {
return
}
bookListSize := len(requestData.BookListInfo)
responseBookList := make([]model.BookItem, bookListSize, bookListSize)
copy(responseBookList, requestData.BookListInfo)
log.Info("startTime1 =", time.Since(startTime1))
.....
.....
}
INFO[0002] startTime1 =397.29032ms file=”RerankController.go:33”
INFO[0010] startTime1 =102.28µs file=”RerankController.go:33”
同一个请求,偶尔会出现以上这段代码耗时300毫秒,大部分情况下都是耗时不到1ms
3. 您期望得到的结果?
想请问下,为什么会在同一个请求下,会出现那么大的耗时差别呢?
我个人的理解:系统资源不是一直空闲的,也许其它程序占用了某个资源,导致你的程序变慢了