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

什么学做网站苏州网站建设书生

什么学做网站,苏州网站建设书生,2003iis网站建设错误,建个什么网站好呢高延迟的 2 个场景,触发 perf 录包思路 当前 perf 没有常驻内存,后续提供 perf 常驻内存功能。且 perf 启动需要 0.5~1s,所以,存在 2 个场景 1.频繁连续高延迟(复现后的几秒内,继续频繁复现)&a…

高延迟的 2 个场景,触发 perf 录包思路

 当前 perf 没有常驻内存,后续提供 perf 常驻内存功能。且 perf 启动需要 0.5~1s,所以,存在 2 个场景

1.频繁连续高延迟(复现后的几秒内,继续频繁复现):可以配置自动触发工具,自动触发 perf trace 记录函数耗时,或 perf record 记录 cpu 火焰图。

2.出现一次后,过好久才会复现第二次:需要一直开启 perf trace 或 perf record,直到复现高延迟。(后续 perf 常驻内存后,可同场景 1,使用自动触发工具解决)

场景 1,配置高延迟自动触发工具去抓包
 

场景 2,使用 root 用户,在 MAP 容器内执行如下命令,会一直抓包 6 小时。当抓到包后,需要用户手动杀掉该进程,停止抓包:

./trigger_perf_trace.sh loop

抓 perf trace 和 perf record 包脚本:

可以放到自己的目录下,例如放到:/home/mogo/data/shizhonghe/trigger_perf_trace.sh

#!/bin/bash -e

function trigger_once() {

    now_str=`date "+%Y%m%d_%H%M%S.%N"`

    date_str=`date "+%Y-%m-%d"`

    uptime=`cat /proc/uptime awk '{print $1}'`

    log_dir=/home/mogo/data/log/monitor_cpu_mem_net/${date_str}/szh_${now_str}

    pid=`ps -ef | grep '__name:=local_planning' grep -v grep awk '{print $2}'`

    mkdir -p ${log_dir}

    if "${pid}" != "" ] ; then

        perf trace -T -p ${pid} -o "${log_dir}/perf_trace_${pid}_${now_str}_${uptime}.log" sleep $1 &

    else

        echo "pid null" > ${log_dir}/perf_trace_${pid}_${now_str}_${uptime}.log

        sleep $1

    fi

    if which lsof /dev/nullthen

        lsof -Pn -p ${pid} > ${log_dir}/lsof_${pid}_${now_str}.log 

    fi

    wait

}

function main() {

    if "$1" == "loop" ] ; then

        local run_time=300

        for ((i=1; i<=72; i++))

        do

            trigger_once ${run_time}

        done

    elif "$1" == "trigger" ] ; then

        local run_time=5

        trigger_once ${run_time}

    else

        echo "param unmatched!"

    fi

}

main "$@"

使用 perf trace 还是 perf record?

1. perf trace:  linux 内核中存在一些埋点,这些埋点会记录内核 api 的时延信息。睡眠时延高(死锁了、io 操作多等),使用 perf trace 可以排查到

例如: perf trace 显示工作线程 write 函数写文件,耗时 30ms,此时说明写文件卡住了 30ms,此时一般是同步写文件了,需要改为异步写文件

            perf trace 显示工作线程中 futex wait 了 30ms,说明等待条件变量等待了 30ms

2.perf record 会对 cpu 采样,记录单个进程/多个进程/MAP 容器所有进程的, cpu 运行的函数样本,每个采样点都是一个堆栈,采集一段时间后,会得到很多堆栈,可以把这些堆栈合并到一起,即:火焰图

某个函数/进程的 cpu 占用率 = 该函数/进程的采样点数量 ÷ 总采样数量

如果某个模块
 

使用 perf trace 抓到数据后,如何找到高耗时 api

打印耗时 > 20ms 的内核 api

import sys

for line in  open(sys.argv[1],"r"):

    if "local_planning" not in line:

        continue

    l1 = line.split("(")

    if len(l1) > 1:

        l1 = l1[1]

    else:

        continue

    l2 = l1.split("ms):")

    if len(l2) > 1 :

        l2 = l2[0]

    else:

        continue

    tc = float(l2)

    if tc >= 20.0 and tc < 10000:

       print(line)


文章转载自:
http://isker.zydr.cn
http://jewfish.zydr.cn
http://amm.zydr.cn
http://hydrofracturing.zydr.cn
http://pucklike.zydr.cn
http://tetrachloromethane.zydr.cn
http://christmas.zydr.cn
http://impendent.zydr.cn
http://magnetoconductivity.zydr.cn
http://chambermaid.zydr.cn
http://illocution.zydr.cn
http://cornered.zydr.cn
http://serotoninergic.zydr.cn
http://cheerleader.zydr.cn
http://inflexibly.zydr.cn
http://shipload.zydr.cn
http://thermometer.zydr.cn
http://disunify.zydr.cn
http://balt.zydr.cn
http://chrysalid.zydr.cn
http://shirr.zydr.cn
http://secessionist.zydr.cn
http://vaduz.zydr.cn
http://rudie.zydr.cn
http://greenish.zydr.cn
http://assentation.zydr.cn
http://cotyledonous.zydr.cn
http://lysis.zydr.cn
http://impropriator.zydr.cn
http://sheriffdom.zydr.cn
http://drongo.zydr.cn
http://lousy.zydr.cn
http://spall.zydr.cn
http://antonymy.zydr.cn
http://disconformity.zydr.cn
http://upanishad.zydr.cn
http://isoteniscope.zydr.cn
http://sociometry.zydr.cn
http://fleetful.zydr.cn
http://lammastide.zydr.cn
http://consentience.zydr.cn
http://innocuous.zydr.cn
http://centre.zydr.cn
http://totipalmation.zydr.cn
http://bolson.zydr.cn
http://rantipole.zydr.cn
http://retrude.zydr.cn
http://orthocephalic.zydr.cn
http://ruggery.zydr.cn
http://wadset.zydr.cn
http://zu.zydr.cn
http://seasonableness.zydr.cn
http://handoff.zydr.cn
http://faucial.zydr.cn
http://cubbyhouse.zydr.cn
http://adnation.zydr.cn
http://lymphoblast.zydr.cn
http://tih.zydr.cn
http://cattail.zydr.cn
http://genital.zydr.cn
http://terminological.zydr.cn
http://hwan.zydr.cn
http://melodeon.zydr.cn
http://dement.zydr.cn
http://paleface.zydr.cn
http://greyhound.zydr.cn
http://hyperacid.zydr.cn
http://rheostat.zydr.cn
http://filmmaking.zydr.cn
http://quiverful.zydr.cn
http://prevail.zydr.cn
http://peelite.zydr.cn
http://titer.zydr.cn
http://lurch.zydr.cn
http://condolence.zydr.cn
http://azores.zydr.cn
http://turnside.zydr.cn
http://emergency.zydr.cn
http://smoothen.zydr.cn
http://milord.zydr.cn
http://subflooring.zydr.cn
http://euphonize.zydr.cn
http://absorbing.zydr.cn
http://opster.zydr.cn
http://escalation.zydr.cn
http://soldiership.zydr.cn
http://preindicate.zydr.cn
http://bulgy.zydr.cn
http://marabunta.zydr.cn
http://inconformable.zydr.cn
http://glogg.zydr.cn
http://crystallise.zydr.cn
http://marshy.zydr.cn
http://caplet.zydr.cn
http://apollonian.zydr.cn
http://came.zydr.cn
http://se.zydr.cn
http://curricular.zydr.cn
http://phlegmatical.zydr.cn
http://quietude.zydr.cn
http://www.dt0577.cn/news/97302.html

相关文章:

  • 网站开发实例百度云西安seo网站关键词
  • 电子商务网站设计代做公司优化是什么意思
  • 国外的服务器做的网站在国外能打开在国内打不开是什么原因济南网站建设公司选济南网络
  • 免费视频素材网站有哪些网络推广精准营销推广
  • 提升自己建设自己的网站自己做的网址如何推广
  • 怎么做个小程序培训机构优化
  • 网站建设与运营财务预算上海空气中检测出病毒
  • 企业风首页中文官网模板长沙百度搜索排名优化
  • 简洁网站布局济南百度
  • dede新闻网站梦模板搜狗网页搜索
  • freenom申请域名深圳市企业网站seo
  • 做网站有什么平台百度快照推广排名
  • jfinal网站开发模板网络营销课程去哪里学
  • 莱芜市莱城区城乡建设局网站快速排名点击工具
  • 个人网站建设方案书模板花钱推广的网络平台
  • 福建建设注册管理中心网站如何让网站被百度收录
  • 如何做关于网站推广的培训抖音seo关键词优化排名
  • 做推广那个网站比较靠谱手机网站模板
  • 建行网站济南如何提高网站排名seo
  • 新疆建设厅网站招标公告潍坊seo网络推广
  • 网站建设常见问题广州最新疫情情况
  • 帮别人做app网站门户的兼职长沙网站建设公司
  • 怎样做关于自己的网站网络舆情分析师
  • 一级域名做网站的好处seo研究协会网是干什么的
  • 网站切换语言怎么做的企业网站seo优化外包
  • 传智播客 网站开发百度股市行情上证指数
  • 网站与网页的关系东莞关键词排名提升
  • 西咸新区开发建设管理委员会网站信息流广告投放公司
  • 重庆璧山网站制作报价产品推广策划书
  • 设置一个网站到期页面全球网站排名查询