[gogf/gf]gqueue性能问题咨询

2024-06-25 81 views
0

最近在使用gf的gqueue的时候,使用日志打点发现gqueue的性能似乎不太稳定,在我理解应该都是毫秒以下的处理,但是实际抖动延时很大,最大的时候达到了140ms,具体如下图描述,是否在使用上存在有什么不对的地方么。 golang 版本 go version go1.11.4 GOOS=linux AMD64 gf 版本 v1.6.17

TIM截图20190616163435

回答

6

@foxhack 这个抖动确实有点大,你往queue里面放置的数据量有多少?最大值?

3

没有设置limit,是默认大小,这些数据都是实时产生的,数据的长度固定最大可能有1m+ 最小600

4

@foxhack 嗯,1m+有点多,有可能是数据同步那块的内存分配造成的。正好我这两天在优化gqueue这块,预计今晚或者最晚明天发布一个新版本,到时你再试试。

0

好的,新版出了我测试一下,到时给你反馈

4

@foxhack 你可以通过go clean -modcache清空本地缓存后,使用test版本试试,这个是未正式发布前的测试版本:require github.com/gogf/gf test

3

@foxhack 你好,请更新到最新的v1.7.1版本再试。

7

@foxhack 请确认是否还有问题,若无问题可关闭该issue

2

目前还在跑,我看是通过gDEFAULT_MAX_BATCH_SIZE来控制,这个值后期会设置成可控制么

1

@foxhack 当前默认的gDEFAULT_MAX_BATCH_SIZE10是一个相对比较折中的值,为简化使用复杂度,不建议暴露给开发者。若有问题欢迎随时反馈。若无问题可关闭该issue或者过段时间再关闭。

9

好的,可以现关闭了。我等过段时间进行大数据量测试跑跑测试结果,看看和直接的channel的差异在哪里

6

@foxhack 好的,有什么问题欢迎随时反馈。