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

常州网站开发培训价格无法连接wordpress

常州网站开发培训价格,无法连接wordpress,网站后台添加文字,国外酷炫网站起因 被同事灵魂拷问:图中这块空白是什么东西? 豆包回答说是数据采样不完整,特定函数或代码段未被调用之类的原因,感觉都不太合理。 之前看过一篇文章说:Heap Profiling的采样是无时无刻不在发生的,执行…

起因

被同事灵魂拷问:图中这块空白是什么东西?
在这里插入图片描述

豆包回答说是数据采样不完整,特定函数或代码段未被调用之类的原因,感觉都不太合理。
之前看过一篇文章说:Heap Profiling的采样是无时无刻不在发生的,执行一次profiling仅仅是dump一下迄今为止的数据快照。这篇文章更加推翻了前面"数据采样不完整"的假设。那火焰图中的空白到底是啥,我们亲自试一下。

实验

参考:使用火焰图对 Go 程序进行性能分析

实验设计

在一个函数中调用另外的函数,在多种位置申请内存,查看火焰图的空白情况。

前置准备

  1. 安装环境
  2. 编写测试代码
  3. 在Goland中运行测试代码,可以通过 pprof 的 HTTP 接口访问http://localhost:8000/debug/pprof/heap?debug=1
  4. 在终端中执行以下命令,在页面中展示火焰图。其中,-http=":8081"表示用于查看火焰图的端口,http://localhost:8000/debug/pprof/heap表示采集的数据源。需要注意,每次运行此命令时,生成的是当前堆快照,如果代码有变更,或者想要获取最新结果,需要中断后重新运行此命令。
    go tool pprof -http=":8081" http://localhost:8000/debug/pprof/heap
  5. 火焰图分析方法:选择VIEW - Flame Graph (old)后,再选择SAMPLE - alloc_space。我们主要看这个,其它的选项也可以参考。
    在这里插入图片描述

函数调用关系

func allocate1() {allocate2()allocate3()
}

代码1:allocate1本身占用空间

package mainimport ("net/http"_ "net/http/pprof""time"
)func allocate1() {var s []stringfor i := 0; i < 10000; i++ {// allocate1占用的空间for i := 0; i < 10; i++ {s = append(s, "This is a sample string")}// allocate2占用的空间allocate2()// allocate3占用的空间allocate3()}
}func allocate2() {var s []stringfor i := 0; i < 10; i++ {s = append(s, "This is a sample string")}
}
func allocate3() {var s []stringfor i := 0; i < 10; i++ {s = append(s, "This is a sample string")}
}func main() {go func() {for {allocate1()time.Sleep(1 * time.Second)}}()http.ListenAndServe(":8000", nil)
}

生成的火焰图:
在这里插入图片描述

代码2:allocate本身不占空间

把13-15行注释掉,让allocate1不占空间

package mainimport ("net/http"_ "net/http/pprof""time"
)func allocate1() {//var s []stringfor i := 0; i < 10000; i++ {// allocate1占用的空间//for i := 0; i < 10; i++ {// s = append(s, "This is a sample string")//}// allocate2占用的空间allocate2()// allocate3占用的空间allocate3()}
}func allocate2() {var s []stringfor i := 0; i < 10; i++ {s = append(s, "This is a sample string")}
}
func allocate3() {var s []stringfor i := 0; i < 10; i++ {s = append(s, "This is a sample string")}
}func main() {go func() {for {allocate1()time.Sleep(1 * time.Second)}}()http.ListenAndServe(":8000", nil)
}

生成的火焰图:
在这里插入图片描述

结论

当allocate1本身占用空间的时候,火焰图中的空白存在。当allocate1本身不占用空间的时候,火焰图被填满,不存在空白。说明空白的部分是上一级函数内部对象占用的空间。

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

相关文章:

  • 通用网站建设出名的网站建设公司
  • 网站建设后如何检测网站建设与维护期末试卷
  • 网站自动推广营销型网站的页面层级
  • 先做它个天猫网站南安市住房和城乡建设局网站
  • 现在海外做的比较好一点的网站整形网站 源码
  • 电脑打开做的网站总显示404wordpress图片放大插件
  • 网站建设售后质量保证网站模板 收费
  • 网站建设的布局种类网站招商页面怎么做
  • 广州网站建设咨询电话网页版微信可以转账吗
  • html企业网站怎么做wordpress小说站模板
  • 股票实时交易网站开发大型网站是用哪种数据库做的
  • 建设工程教育网站亚马逊aws永久免费服务69
  • 上海网站建设哪家专业兰州app制作
  • wordpress theme 检测seo搜索引擎官网
  • 毕设做系统与网站答辩提供网站建设空间
  • 免费的外贸网站电商网站规划的开发背景
  • 金昌做网站网站 内页
  • 关于学院网站建设的通知成都哪家公司做网站比较好
  • 怎么做自己淘宝优惠券网站wordpress右键插件
  • 网站的seo是什么意思做网站费用滁州
  • 网站的技术建设方案wordpress模版下载
  • 传奇新开网站网上怎么开平台做销售
  • 青岛网站建设哪个平台好微信网站开发模板
  • 购物网站创业时是如何做宣传的wordpress注册码
  • 网站平台建设什么意思中国尊设计公司
  • 杭州西湖区做网站公司注册资金实缴可以取出来吗
  • 网站域名的根目录在哪里专业建设网站服务
  • 网站和微信佛山提供网站设计报价
  • 鲜花网站数据库建设分析wordpress 评论点击验证
  • wordpress搭建公司网站企业网站教程