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

线下推广怎么做镇江网站优化公司

线下推广怎么做,镇江网站优化公司,网络编程课程,计算机网站建设的能力Go 自带接口性能分析工具 pprof,较为常用的有以下 4 种分析: CPU Profiling: CPU 分析,按照一定的频率采集所监听的应用程序 CPU(含寄存器)的使用情况,可确定应用程序在主动消耗 CPU 周期时花费时间的位置…

Go 自带接口性能分析工具 pprof,较为常用的有以下 4 种分析:

  • CPU Profiling: CPU 分析,按照一定的频率采集所监听的应用程序 CPU(含寄存器)的使用情况,可确定应用程序在主动消耗 CPU 周期时花费时间的位置;
  • Memory Profiling: 内存分析,在应用程序进行堆分配时记录堆栈跟踪,用于监视当前和历史内存使用情况,以及检查内存泄漏;
  • Block Profiling: 阻塞分析,记录 goroutine 阻塞等待同步(包括定时器通道)的位置;
  • Mutex Profiling: 互斥锁分析,报告互斥锁的竞争情况。

接入方式:

package mainimport ("net/http"_ "net/http/pprof"
)func main() {http.ListenAndServe("0.0.0.0:6060", nil)
}

它使用默认的 http.DefaultServeMux 结构,注册了 /debug/pprof/ 路由,在浏览器访问可以访问 CPU/Memory/Block/Mutex/Goroutine 等性能分析页面。

对于线上服务来说,需要针对该路由做好限制,否则可能直接暴露到系统外部,造成数据安全问题。

如果是内部服务,自己电脑的浏览器看不到页面,就很麻烦了。而 Pyroscope 这个项目就非常爽~

它有一个非常漂亮的 UI 界面,展示 Agent 采集的数据,能直观地展示程序各个函数的调用耗时,从而找出性能瓶颈。

架构图如下:

在这里插入图片描述

接入方式也非常简单,本地搭建服务的话(macOS),输入以下命令:

brew install pyroscope-io/brew/pyroscope
pyroscope server

对应的服务需要加入以下代码:

package mainimport ("github.com/pyroscope-io/client/pyroscope"
)func initPyroScope() {runtime.SetMutexProfileFraction(5)runtime.SetBlockProfileRate(5)_, _ = pyroscope.Start(pyroscope.Config{ApplicationName: app.ServerName,                 // 应用名称ServerAddress:   "http://pyroscope.test.com.cn", // 上报地址Logger:          pyroscope.StandardLogger,Tags:            map[string]string{"hostname": os.Getenv("HOSTNAME")},ProfileTypes: []pyroscope.ProfileType{pyroscope.ProfileCPU,pyroscope.ProfileAllocObjects,pyroscope.ProfileAllocSpace,pyroscope.ProfileInuseObjects,pyroscope.ProfileInuseSpace,pyroscope.ProfileGoroutines,pyroscope.ProfileMutexCount,pyroscope.ProfileMutexDuration,pyroscope.ProfileBlockCount,pyroscope.ProfileBlockDuration,},})
}func main() {initPyroScope()// ...
}

其中,ApplicationNameServerAddress 需要自行替换。

如果是本地,ServerAddress 请改成 "http://127.0.0.1:4040",接着运行 benchmark 压测:

ab -c 100 -n 10000 'http://127.0.0.1:8099/api/xxx-service/v1/yyy/get_test?gid=23333'

可以得到火焰图(好漂亮啊):

火焰图1

此时可以看到最耗时的是 HTTP 服务的调用,还有 JSON 的序列化:

火焰图2

说明我们的程序接口,在某个输入参数的情况下,没有出现逻辑上的瓶颈。

我们可以多变换输入参数,根据业务逻辑找到最复杂最消耗性能的模块,有针对性进行性能优化。


文章来源于本人博客,发布于 2022-06-12,原文链接:https://imlht.com/archives/391/

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

相关文章:

  • 建设pc端网站是什么意思海丰县建设局官方网站
  • 山东省住房建设厅网站安全处网站竞价推广
  • 东莞网站建设网站排名优化提升网站响应时间
  • 先做网站先备案平面设计免费软件有哪些
  • 360免费建站连接湖州佳成建设网站
  • 做商城网站需要多大的服务器校园网站设计毕业设计
  • 陕西做网站的公司在哪快速收录网站
  • 北京网站设计公司新鸿儒网站外链建设
  • 北京哪里可以申请企业网站域名官网网站做下载word
  • 深圳定制网站建设禅城区网站建设
  • 网站建设公司官方网站自贡市城市建设投资开发集团有限公司网站
  • 企业网站开发是什么临沂网站制作网站
  • 河北廊坊建设银行网站国外黄冈网站推广
  • 高校二级网站建设要求自己做网站和凡科的区别
  • 怎么用记事本做网站wordpress为什么速度慢
  • 哪些网站做科技专题短视频推广平台有哪些
  • 云南省做网站开发的公司排名新片场视频素材
  • 房屋结构自建设计 网站四川省建设厅官方网站
  • 高端网站开发企业银川网站建站公司
  • 多少钱网站设计怎么给自己做个网站
  • 郑州的网站建设公司哪家好如何做微信网站防封
  • 站长之家备案查询网线制作方法及步骤
  • 微网站模板源代码wordpress the_post()
  • 郑州专门做喷绘安装的网站alexa排名查询统计
  • 网站开发用什么技术怎么给网站做301
  • zencart 官方网站wordpress页面编辑教程视频
  • 对网站建设的维护快速域名网站备案
  • 温州网站开发建设h5开发环境搭建
  • 手机网站建设哪家好网站建设与运营的预算方案
  • 航天基地规划建设局网站网站建设与管理方向