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

个人官方网站怎么建设网站开发嘉比格网络

个人官方网站怎么建设,网站开发嘉比格网络,WordPress 更改H标签,东莞房价2024传统检测内存泄露可以看一下我这篇文章Gin框架接入Prometheus,grafana辅助pprof检测内存泄露-CSDN博客 pyroscope被Grafana收购,GPT来总结一下pyroscope的强大之处🐶 pyroscope github地址 pyroscope与grafana的安装 docker compose安装,这里我们其实…

传统检测内存泄露可以看一下我这篇文章Gin框架接入Prometheus,grafana辅助pprof检测内存泄露-CSDN博客

pyroscope被Grafana收购,GPT来总结一下pyroscope的强大之处🐶

pyroscope github地址

pyroscope与grafana的安装

docker compose安装,这里我们其实可以不使用grafana,pyroscope已经是一个很完整的产品,但是我们在grafana里面可以配置数据源,也可以在grafana里面查看,grafana暂时还没有好的pyroscope dashboard

version: '3.8'services:grafana:image: grafana/grafanacontainer_name: grafanaports:- "3000:3000"networks:- monitoringdepends_on:- prometheuspyroscope:image: grafana/pyroscopecontainer_name: pyroscopeports:- "4040:4040"networks:- monitoring    networks:monitoring:driver: bridge

 执行

docker-compose up -d 

 访问Pyroscope   http://localhost:4040/ 我们可以看到go语言的各种性能指标与pprof检测的各类指标差不多

Gin框架中间件配置

我们在gin框架中间件中集成这个检测插件

ApplicationName: "simple.golang.app.golang",用于在Pyroscope筛选服务

package initializationimport ("awesomeProject3/middware""awesomeProject3/router""github.com/Depado/ginprom""github.com/gin-gonic/gin""github.com/grafana/pyroscope-go"_ "net/http/pprof""runtime"
)func Routers() *gin.Engine {r := gin.New()r.Use(p.Instrument())runtime.SetMutexProfileFraction(5)runtime.SetBlockProfileRate(5)pyroscope.Start(pyroscope.Config{ApplicationName: "simple.golang.app.golang",// replace this with the address of pyroscope serverServerAddress: "http://localhost:4040",// you can disable logging by setting this to nilLogger: pyroscope.StandardLogger,// you can provide static tags via a map:Tags: map[string]string{"hostname": "ginapp"},ProfileTypes: []pyroscope.ProfileType{// these profile types are enabled by default:pyroscope.ProfileCPU,pyroscope.ProfileAllocObjects,pyroscope.ProfileAllocSpace,pyroscope.ProfileInuseObjects,pyroscope.ProfileInuseSpace,// these profile types are optional:pyroscope.ProfileGoroutines,pyroscope.ProfileMutexCount,pyroscope.ProfileMutexDuration,pyroscope.ProfileBlockCount,pyroscope.ProfileBlockDuration,},})return r
}

模拟内存泄露

我们来模拟内存泄露 对下面接口压测,压测粒度小一点,来看pyroscope的作用。

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

pyroscope监控查看内存泄露

我们点击Single可以看到详细的火焰图以及性能瓶颈,内存泄露的方法集代码,也就是产生goroutine泄露的地方

结论

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

http://www.yayakq.cn/news/470543/

相关文章:

  • 百度注册网站php构建网站
  • 做网站 网上接单网站建设在哪里接单
  • 多种语言网站建设只卖域名的网站
  • 手机做网站服务器吗小程序开发文档官网
  • 餐饮加盟手机网站建设专业单位网站建设
  • 视频播放类网站建设费用php网站开发流程步骤
  • 个人网站怎么制作成图片深圳网站导航
  • 网站上的链接怎么做新闻头条 今天
  • 网银网站模板青岛做模板网站的公司
  • 定制网站开发流程图锚文本对网站
  • 地推平台招代理乐云seo模板网站建设
  • 营销型网站制作建设百度开户公司
  • 自己做的网站怎么连接计算机网站服务器在哪里买好
  • 郑州网站建设方案服务公司wordpress默认的编辑器
  • 秸秆可以发酵吗网站建设吗国内展厅设计公司排名
  • 崂山网站建设建设网站的app
  • 网站建设工作建议仙桃网站优化
  • 网站开发字典文档企业宣传片
  • 外贸网站制作推广公司湛江霞山
  • 旅游网站怎样做网络宣传网站备案地点
  • 网站建设及维护价钱网站没被收录
  • 华安县城乡规划建设局网站网站建设哪个平台好
  • 建设网站及域名费用云匠网官网
  • 孝感 网站建设雅安做网站
  • 网站免费推广网站安徽网站建设公司
  • 做网站克隆品牌设计案例网站
  • 广州网站(建设信科网络)swoole做网站
  • 网站开发做什么的电影宣传类网页界面设计
  • 网站文章更新怎么通知搜索引擎网站开发的技术支撑 经验能力
  • 网站开发最快的语言asp网站怎么连接数据库