登录
首页 >  Golang >  Go问答

httputil.NewSingleHostReverseProxy 调用会增加内存使用量

来源:stackoverflow

时间:2024-04-07 18:45:35 417浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《httputil.NewSingleHostReverseProxy 调用会增加内存使用量》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我使用这两行代码作为反向代理

reverseProxy:=httputil.NewSingleHostReverseProxy(url)
reverseProxy.ServeHTTP(rw, req)

我在测试中看到的问题是,每调用 8 次左右,应用程序的内存使用量就会增加 0.2 mb。如果我将其放置一段时间(很多分钟),它就会下降。

我尝试为代理设置 flushinterval,但这似乎没有太大区别。

如果我注释掉这两行,那么这种内存泄漏就不会发生,这对我来说意味着我缺少反向代理上的一些设置。


解决方案


我猜您正在为每个请求创建一个新的反向代理:

http.handlefunc("/", func(rw http.responsewriter, req *http.request) {
    reverseproxy:=httputil.newsinglehostreverseproxy(url)
    reverseproxy.servehttp(rw, req)
})

当您应该重用单个反向代理时,可以通过执行以下操作

http.handlefunc("/", httputil.newsinglehostreverseproxy(url))

var reverseProxy = httputil.NewSingleHostReverseProxy(url)
http.HandleFunc("/", func(rw http.ResponseWriter, req *http.
    reverseProxy.ServeHTTP(rw, req)
})

以上就是《httputil.NewSingleHostReverseProxy 调用会增加内存使用量》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>