Golang 中国

go1.8,使用net/http编写的http接口,请求数据和返回数据经过gzip压缩,需要进行压缩解压缩。
350并发左右的情况下响应时间与吞吐量还是赶不上java的接口。pprof显示, gc以及压缩解压缩这块耗时较多。
尝试过compress/gzip包、github/klauspost/compress/gzip以及github/klauspost/pgzip,前两者差距不明显,第三个效率反而下去了。
请问有什么改进的好的建议吗?
附上pprof的截图
1


2


psyucc 于 2017-03-16 08:44 修改
3 回复
AceForce
#1 AceForce • 2017-03-16 13:25

Gzip 压缩解压缩是比较耗 CPU 的, 该升级机器了吧

wzw34032011
#2 wzw34032011 • 2017-12-02 12:21

compress/gzip包
gzip.NewWriterLevel(w io.Writer, level int) level参数是设置压缩质量的,1最快9最慢

bigbear
#3 bigbear • 2017-12-05 10:49

建议物理架构上解决, 前端部署一个nginx, 在nignx上对gzip, ssl降级, 效率会好很多.

需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。