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

徐州做网站最好的公司/咨询网络服务商

徐州做网站最好的公司,咨询网络服务商,做网站准备的资料,wordpress下载链接在测试环境上遇到一个问题,我们的组件处理数据非常慢,不知道在处理什么卡住或者线程抛异常退出了或者死循环了,从日志上也没能分析个所以然来,求助大神找到一个py-spy工具,可以分析该问题。Py-spy是一款 Python 应用采…

在测试环境上遇到一个问题,我们的组件处理数据非常慢,不知道在处理什么卡住或者线程抛异常退出了或者死循环了,从日志上也没能分析个所以然来,求助大神找到一个py-spy工具,可以分析该问题。

Py-spy是一款 Python 应用采样分析器,允许在不重启和修改源代码的情况下,可视化正在运行的Python程序的调用栈、时间消耗等,这对于分析生产环境程序是非常关键的。而且安装使用都非常简单,安装可以用 pip install py-spy 直接安装,使用命令行格式为 py-spy [FLAGS] [OPTIONS] --pid ,其中:

• pid 为需要采样程序的PID号

• FLAGS 比较常用的有 --dump,可以查看该进程的调用栈(包括各个线程)

• OPTIONS可以配置的参数主要有:

○ -d/--duration 采样的时间,默认为2秒

○ -f/--flame 采样生成的火焰图名字

○ -r/--rate 采样的频率,默认为200次每秒

这里就使用该工具来进行分析我的问题。

执行命令 py-spy -p 10825,结果如下,会动态刷新,类似于top命令的结果。

结果上看出,do_execute函数执行时间占用了100%,程序卡在这个函数上,这个是selalchemy库中执行数据库语句的函数,可以从结果中其它函数推测该语句是从哪个业务函数调用的。当然还有更好的方式。

执行命令 py-spy --dump -p 10825,结果如下可以看到列出了该进程的两个线程的调用栈,从这个结果就很容易知道第1步中do_execute函数最终的调用栈关系。

当然还可以用更可视化全局分析哪个函数消耗时间较长,火焰图就是一个有利的工具,py-spy也支持生成火焰图文件,使用命令 py-spy --flame profile.svg --duration 300 -p 10825 采样300s生成火焰图文件。

将该文件拷贝到windows用浏览器打开,生成的火焰图如下:

火焰图中颜色不说明什么,y轴表示函数的调用栈,x轴表示函数的执行时间,那么函数在x轴越宽表示执行时间越长,也说明是性能的瓶颈点。

最终很容易找到是一条查询语句的耗时非常长,超过几分钟了,然后找数据库同事一起分析最终找到问题原因,进行了sql查询语句的优化,问题解决。

总之,这是一个非常实用小巧简单的python性能分析工具。

http://www.lbrq.cn/news/966331.html

相关文章:

  • 手机网站建设cz35/口碑营销的形式
  • 外国优秀网站欣赏/51网站统计
  • 海南百度推广总代理/北京百度推广优化公司
  • 如何做网站管理维护/代刷网站推广免费
  • 学校网站建设发展历程/西安百度公司地址介绍
  • 沈阳城市建设管理学校网站/策划品牌全案
  • 建立个人网站费用/网站很卡如何优化
  • 网址导航类网站如何做推广/关键词录入榜
  • 网站建设三剑客/十大搜索引擎网站
  • 国外免费网站建设/千万不要学网络营销
  • 销售网站设计/淘宝如何提升关键词排名
  • 网站建设 开发票/免费域名怎么注册
  • 日本vtuber在b站的钱/大二网页设计作业成品
  • 六安网站建设哪家靠谱/网站设计公司上海
  • 用邮箱地址做网站域名好吗/网络营销师证书需要多少钱
  • 广州网站建设联系电话/sem竞价托管多少钱
  • 昆明小程序定制/seo交流qq群
  • 做棋牌开发的网站/google seo怎么做
  • 建设部质监局信息查询官方网站/河南企业网站推广
  • 如何上传网站/沈阳网络营销推广的公司
  • 平湖市住房建设局网站/百度seo优化收费标准
  • 济南行知网站建设/别做网络推广员
  • 注册网站模板/抚州网络推广
  • 网站开发经济可行性分析怎么写/外链查询
  • wordpress自定义结构空白页/厦门关键词排名优化
  • android移动网站开发详解光盘下载/seo优化排名工具
  • 网页设计哪个培训机构好/正规seo排名多少钱
  • 专业手机网站建设推荐/淘宝热搜关键词排行榜
  • 高端网站设计服务商/谷歌搜索广告
  • 房地产设计网站/百度公司官网入口
  • JAVA面试宝典 -《Kafka 高吞吐量架构实战:原理解析与性能优化全攻略》
  • 全面升级!WizTelemetry 可观测平台 2.0 深度解析:打造云原生时代的智能可观测平台
  • 【机器学习实战【七】】机器学习特征选定与评估
  • watermark的作用
  • Linux4:线程
  • 个人笔记(linux/sort与uniq命令)