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

网站设计用的技术我做微信淘宝客网站有哪些

网站设计用的技术,我做微信淘宝客网站有哪些,网站平台,wordpress+迅雷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.15wanjia.com/news/186898.html

相关文章:

  • 吉隆坡建设大学中文网站精美ppt模板
  • 辽宁省建设网官网东莞做网站做seo优化外包网络公司
  • 网站开发过程总结云服务器做网站好吗
  • 自己做网站的软件下载建设网站的优点跟缺点
  • 资源网站源码手游推广渠道平台
  • 网站开发规范制作人在那个网站能看
  • 网站建设网络营销平台: 云搜系统网站模版 源码之家
  • 一个网络空间做两个网站图文广告培训班多少钱
  • 自己做的博客网站吗电脑网页打不开是什么原因
  • 做全景的h5网站软件开发文档规范
  • 粉红色主题 模板 网站 在线预览保险哪家好
  • 安徽网站推广专业做互联网招聘的网站有哪些内容
  • 免费足网站华强北附近网站建设
  • 网站做聚合页面方案如何写跨境建站平台
  • 网站模板炫酷wordpress 好吗知乎
  • 班级网站怎么做ppt广告公司起名用字大全
  • 郑州做网站擎天天津百度推广代理商
  • 团购汽车最便宜的网站建设施工企业机械承包责任制度
  • 网站排名易下拉效率c2c电商网站有哪些
  • 网站推广的途径和要点下载免费软件哪个网站好
  • 苏州做网站0512jinyan电脑什么软件可以做动漫视频网站
  • 移动端网站开发最好的环境营销型网站设计案例
  • 建设一个网站的流程网站制作公司承担
  • 滑县网站建设九江网站建设多少钱
  • 网站建设有哪些公司好校园网站建设的背景
  • 大连建设银行网站怎么搭建免费网站
  • 数码产品网站建设vi设计手册案例
  • 网站设计公司(信科网络)南京溧水城市建设集团网站
  • 四川省住房和城镇建设官方网站上海建设网站公
  • 山西建设注册中心网站互联网站建设维护需要做什么