当前位置: 首页 > news >正文

网站建设服务器如何选择百度网盘搜索引擎入口在哪

网站建设服务器如何选择,百度网盘搜索引擎入口在哪,武汉手机app制作,ps如何做网站超级链接prometheus与grafana的安装 grom接入Prometheus,grafana-CSDN博客 Prometheus 动态加载 我们想给Prometheus新增监听任务新增ginapp项目只需要在原来的配置文件下面新增ginapp相关metric 在docker compose文件下面新增 执行 docker-compose up -d curl -X POST http://lo…

prometheus与grafana的安装

grom接入Prometheus,grafana-CSDN博客

Prometheus 动态加载

我们想给Prometheus新增监听任务新增ginapp项目只需要在原来的配置文件下面新增ginapp相关metric

在docker compose文件下面新增

执行

docker-compose up -d 
curl -X POST http://localhost:9090/-/reload

granfa配置新的job

配置golang dashboard模版

配置之后我们看以在dashboard看到

Gin框架中间件配置

package initializationimport ("awesomeProject3/middware""awesomeProject3/router""github.com/Depado/ginprom""github.com/gin-gonic/gin"_ "net/http/pprof"
)func Routers() *gin.Engine {r := gin.New()r.Use(middware.GinRecovery(true), middware.GinZapLogger())r.Use(middware.Cors())router.InitOrderRouter(r)p := ginprom.New(ginprom.Engine(r),ginprom.Subsystem("gin"),)r.Use(p.Instrument())return r
}

pprof配置

package routerimport ("awesomeProject3/api""github.com/gin-gonic/gin""net/http""net/http/pprof"
)func InitOrderRouter(Router *gin.Engine) {Router.GET("/health", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"code":    http.StatusOK,"success": true,})})// 定义一个简单的GET路由Router.GET("/v1/ping", func(c *gin.Context) {c.JSON(http.StatusOK, gin.H{"message": "pong",})})Router.GET("/test", api.TestHandler) //pprofGroup := Router.Group("/debug/pprof"){pprofGroup.GET("/", gin.WrapF(pprof.Index))pprofGroup.GET("/cmdline", gin.WrapF(pprof.Cmdline))pprofGroup.GET("/profile", gin.WrapF(pprof.Profile))pprofGroup.GET("/symbol", gin.WrapF(pprof.Symbol))pprofGroup.GET("/trace", gin.WrapF(pprof.Trace))pprofGroup.GET("/allocs", gin.WrapH(pprof.Handler("allocs")))pprofGroup.GET("/block", gin.WrapH(pprof.Handler("block")))pprofGroup.GET("/goroutine", gin.WrapH(pprof.Handler("goroutine")))pprofGroup.GET("/heap", gin.WrapH(pprof.Handler("heap")))pprofGroup.GET("/mutex", gin.WrapH(pprof.Handler("mutex")))pprofGroup.GET("/threadcreate", gin.WrapH(pprof.Handler("threadcreate")))}
}

模拟内存泄露

之前我们生产项目中出现过一次严重的内存泄露,例子如下图所示,该接口qps非常高

对当前接口压测

pprof监控

Grafana监控

我们看到goroutine数量已经爆表了,我的mac风扇开始转了

这个时候可以点击pprof groutine很好定位哪一块出现了内存泄露

结论

我们在使用golang 高并行处理下游任务的时候,一定要对下游基础设施要有敬畏之心,调用时限制goroutine的运行数量并且设置上context超时控制,做好超时熔断措施,做好监控警告,下游基础设施如果达到瓶颈,我们可对下游基础进行主从 水平扩容等。

http://www.khdw.cn/news/14336.html

相关文章:

  • 江西省建设工程学校网站上海搜索排名优化
  • 猎聘网网站谁做的怎样做企业宣传推广
  • 谁做的四虎网站是多少钱如何推广自己的店铺
  • 化妆品网站建设预算明细表谷歌浏览器官网下载手机版
  • 做海鲜批发去哪个网站域名检测查询
  • 网站做淘宝客排名会掉吗企业网站推广效果指标分析
  • 珍岛信息技术有限公司做网站服务谷歌广告开户
  • 哪个网站做简历免费下载网络推广人员是干什么的
  • 党建网站开发需求正规微商免费推广软件
  • 外文网站做t检验分析做一个网站要多少钱
  • 网站建设seo合同书北京官网seo
  • 宁波建设委员会网站个人网页免费域名注册入口
  • 新网站一般多久收录百度注册网站
  • 2016年做网站能赚钱吗最近时政热点新闻
  • 建设电影网站选服务器怎么选友情链接方面
  • 网站开发进度表外贸网站seo优化
  • 做网站给女朋友网络营销与策划试题及答案
  • 广州网站设计公司招聘软文世界
  • 域名主机 网站建设seo网站的优化方案
  • 做网站服务好全国疫情的最新数据
  • 谁有手机网站啊介绍一下产品运营推广方案
  • 做报名表的网站电商卖货平台有哪些
  • 邯郸网站制作设计班级优化大师免费下载电脑版
  • 苏州建网站的公司一站式服务公司公众号软文素材
  • 手机和电脑网站分开做一个平台怎么推广
  • 中国食品加工网好的seo平台
  • 甘肃省第九建设集团网站关键词列表
  • 明年做那个网站能致富最新新闻热点话题
  • 西安直播室网站建设传统营销与网络营销的区别
  • 免费自助建站系统有哪些百度推广售后客服电话