资讯专栏INFORMATION COLUMN

线上 python http server profile 实践

stackfing / 1097人阅读

摘要:背景容器数量过高,可能的原因有请求的不合理调用,本身的性能问题等,目前的问题难以定位,所以准备出一个的分析资源消耗。需求可视化的形式查看整体的响应时间占比,定位大头优先消除。所以找面积最大的追踪查看即可。

背景:

qa 容器数量过高,可能的原因有 api 请求的不合理调用,api 本身的性能问题等,目前的问题难以定位,所以准备出一个 qa 的 profile 分析资源消耗。

需求

可视化的形式查看整体 http server 的响应时间占比,定位大头优先消除。

工具

python 系的 profile 工具整体上是在太少,cprofile 用起来有些蛋疼,找了半天决定用 nylas 之前的一个 demo。

这个工具需要 server 端是 gevent,号称不用 gevent 也能用,不过需要改代码。

profile 工具,此工具采用unix singal 的方式定时采集 frame python 的栈信息,需要 hack 到生成代码,并且需要启动一个采集进程,由于 github 给出的应该是个 demo,可视化的 server 目前长时间采集会有问题(采集一段时间后数据过大,页面卡顿,但是原服务的响应 似乎不受影响)

另外,原项目中的代码需要 python 编译时做一些事情,我 fork 了一份做了一点修改。具体操作见 README

https://github.com/duoduo369/...

用法

我决定还是从 README 贴过来

test.sh 脚本的内容就是一波 curl 请求,每秒执行一次,跑个一小时好了,再大 demo 的 http 可视化工具可能卡。

git clone 这个项目
cd 到项目目录
pip install -e .

将 stacksampler.py 复制到项目目录,在按照 readme
中代码修改的方式修改对应代码

项目启动后执行
python -m stackcollector.collector --host localhost --ports 16384 --interval 60
写一个批量请求脚本 test.sh
每秒执行
watch -n1 test.sh

可视化工具
python -m stackcollector.visualizer --port 5555
如果项目所在机器无法通过5555端口访问,将 /var/lib/stackcollector
下的所有文件复制到可以访问机器访问
分析

就拿 demo 中的这张图来看,需要横着看+竖着看,每一行相加,每一块儿(假设为 A)垂直上面一格所有小块相加等于这一块(A)。所以找面积最大的追踪查看即可。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40751.html

相关文章

  • PHP性能被动分析工具之xhgui加tideways的安装实践

    摘要:性能被动分析工具之加的安装实践前言最近一直想做个接口性能分析,但是手打实在能把人给累死。怎么办呢想到之前有写过一篇我所知道的相关调优汇总,里面有一个的调优方式。但是使用它酷炫的需要付费,扩展则不需要。 PHP性能被动分析工具之xhgui加tideways的安装实践 By:0x584A Date:2016-11-23 17:55:42 前言 最近一直想做个接口性能分析,但是手打log实在...

    Chiclaim 评论0 收藏0
  • 前端开发如何做好本地接口模拟

    摘要:前端开发如何做好本地接口模拟之前有写过一篇本地化接口模拟前后端并行开发,讲到过本地接口模拟,但不太细致。有哪些途径本地接口模拟一般分为工具层面和代码层面。因为本地接口模拟功能主要是针对的返回值为格式的异步请求,所以这种方式主要用文件。 前端开发如何做好本地接口模拟 之前有写过一篇 本地化接口模拟、前后端并行开发,讲到过本地接口模拟,但不太细致。这次细细的说说本地接口模拟。 1. 有什么...

    ACb0y 评论0 收藏0
  • Spring Boot 配置文件中的花样,看这一篇足矣!

    摘要:的默认配置文件位置为。比如,我们需要自定义模块的服务端口号,可以在中添加来指定服务端口为,也可以通过来指定应用名该名字在应用中会被注册为服务名。同时,配置内容都对开发人员可见,本身这也是一种安全隐患。 在快速入门一节中,我们轻松的实现了一个简单的RESTful API应用,体验了一下Spring Boot给我们带来的诸多优点,我们用非常少的代码量就成功的实现了一个Web应用,这是传统的...

    pingan8787 评论0 收藏0
  • 浅述APM采样与端到端

    摘要:主题大纲浅述采样与端到端何为何为端到端何为采样的做法与弊端嘉宾介绍高驰涛,官方开发组成员,作者,云智慧高级架构师。 极牛技术实践分享活动 极牛技术实践分享系列活动是极牛联合顶级VC、技术专家,为企业、技术人提供的一种系统的线上技术分享活动。 每期不同的技术主题,和行业专家深度探讨,专注解决技术实践难点,推动技术创新,每两周的周三20点正式开课。欢迎各个机构、企业、行业专家、技术人...

    seasonley 评论0 收藏0
  • [ 好文分享 ] 美团酒店Node全栈开发实践

    摘要:我所在的美团酒店事业部去年月份成立,新的业务新的开发团队,这一切使得我们的前后端分离推进的很彻底。日志监控平台日志监控平台是美团内部的一个日志收集系统,目前美团统一使用收集日志,具有接收格式日志的能力,而日志监控平台也是以格式日志来收集。 转自:美团技术团队 作者:美团技术团队 分享理由:很好的分享,可见,基于Node的前后端分离的架构是越显流行和重要,前端攻城狮们,No...

    wangdai 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<