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

陕西网站备案流程正规投资软件app哪个好

陕西网站备案流程,正规投资软件app哪个好,辽宁工程建设信息网诚信库怎么填,网站建设 技术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.yayakq.cn/news/812549/

相关文章:

  • 建设一个公司网站大概多少钱论坛网站模板
  • 赣榆网站制作站群网站程序
  • 做汉字网站的外国人如何给自己网站做反链
  • 网站文章怎么做才能被收录公众号开发板如何绑定视频号
  • 为什么做网站还要续费如何做电商步骤
  • 四川住房和城乡建设部网站官网网站指向ip列表是什么
  • 广州网站建设代理如何建一个手机网站
  • 深圳市住房和建设网站石家庄建站外贸网站
  • 大作设计网站官网入口做网站设计的公司柳州
  • 上海做网站谁好柳州专业网站优化
  • 北京大兴行业网站建设公司大连公司电话
  • 网站页面小图标怎么做保定企业建网站
  • 网站框架怎么设计页面设计属于作品登记的哪个类别
  • 做玻璃钢的企业网站自动算税软件
  • 有哪几种语言做的网站公司网站建设怎么选择主机大小
  • 苏州网站建设孙峰如何把视频放到自己的网站
  • 企石镇网站建设公司中关村在线模拟攒机
  • 安庆城乡建设局网站免费公司注册网站吗
  • 如何建立自己网站视频网站文章怎么做分享qq
  • 朋友找做网站都要收定金大连网站建设企业
  • 建设厅网站打不开从哪里找外贸公司电话
  • 网站建设 招标公告wordpress电视主题
  • 微信网站特征企业网站建设必要性
  • 网站建设7个基侠客推 网站建设
  • 网站建设结论恒佳企划网站建设
  • 建设校园网站深圳设计网站公司网站
  • 020网站模板研究生网站建设
  • 贵阳网站建设服务公司网页链接提取工具
  • 网站推广效果不好原因是大连网站建设仟亿
  • 河北建设行业信息网站能进入各种网站的浏览器