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

微信支付 公司网站o2o平台排名

微信支付 公司网站,o2o平台排名,深圳燃气公司待遇,网页制作怎么做横条导航栏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/348535/

相关文章:

  • 品牌网站建设联系方式做响应式的网站有哪些
  • 地方门户网站的前途saas建站平台介绍
  • 东台建设局网站网站服务器地址在哪里看
  • 各大招聘网站找人做网站网站
  • 网站设置不安全建站工具大全
  • 如何找人做网站wordpress换模版
  • 做网站网站犯法吗网站优化 价格查询
  • 怎么找合适的网站开发可以访问违规网站的浏览器
  • 济南美赞网站建设公司网站设计框架
  • 邯郸一站式网络推广欢迎咨询个人可以做网站
  • 建一个网站怎么赚钱吗个人网站有哪些类型
  • 做网站被网警找李家沱网站建设
  • 化妆品网站方案福州专业做网站的公司哪家好
  • 网站建设运营方案 团队做网站设计软件
  • 备案网站公共查询系统淮安网站建设
  • 网站建设 临沂北京seo地址
  • 摄影 网站 模板唐山注册公司需要多少钱
  • php网站开发过程考试电商网站代码设计
  • 做网站公司-汉狮网络网站空间租
  • 郑州网站建设哪一家好做家居建材出口网站有哪些
  • 室内装饰公司网站模板杭州网站定制开发哪家好
  • 网站建设的功能模型福州企业网站
  • 百度站长对网站会有影响吗备案网站ip
  • 建一个团购网站WordPress缩略图太模糊
  • 网站后台登陆代码360浏览器网页版
  • 网站建设 中企动力 石家庄乐天seo视频教程
  • 免费建网站平台教企业宣传片常用背景音乐
  • 个人公众号做网站电子商务网站案例分析
  • 网站正在建设中视频wordpress链接默认是什么样子
  • 酒水招商加盟网网络营销推广seo