惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
Engineering at Meta
Engineering at Meta
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页
L
LangChain Blog
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
美团技术团队
博客园 - 三生石上(FineUI控件)
N
Netflix TechBlog - Medium
D
DataBreaches.Net
P
Proofpoint News Feed
小众软件
小众软件
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
WordPress大学
WordPress大学
雷峰网
雷峰网
G
Google Developers Blog

监控宝

100-300 元之间有哪些户外监控推荐? 算命的应该已经开始使用人脸识别了吧。 K8s 监控是真的难做呀,感觉没有啥头绪 求问国内第三方监控平台有哪些? 想给家里整套监控 有奖体验 赢畅销书|体验透视宝业务监控 一眼定位业务故障 [重磅新品]自动发现业务拓扑,精准定位根源问题 邀请体验|从业务拓扑图开始 搞定业务运维 游戏平台运维自动化扩展之故障自愈 不容错过 | 一大波新功能来袭 坑爹双十一零点秒杀背后的 API 性能问题初探 不容错过 | 一大波新功能来袭 大促之前 必先压测--压测宝助您决战双 11 监控宝的销售来一发,我们谈谈企业版的 Api 功能 B 站运维团队成长的血泪史 感受真实性能压测的“洪荒之力” 压测宝有奖体验中 重磅 | 打造云端压力测试产品,准确感知性能瓶颈 互联网金融网站性能排行榜 来一场说聊就聊的压测分享 选择合适的监控指标 确保跨境电商网站业务稳步增长 Hadoop 大数据生态系统及常用组件简介 Google 对象描述语言 Jsonnet 应用经验谈 十大性能监控技巧 全面提升你的应用体验 监控宝新增国内 7 地监控节点,看看有没有覆盖你们的业务地区~ 无压测 不狂欢 压测宝助您决战 618 监控宝经常轰炸我邮箱啊。。 透视宝 H5 性能管理新鲜出炉 免费体验 支付宝付款的时候, 手机闪关灯依旧会亮一下 服务器宕机后自动重启的简化方法 监控宝新增马来西亚等 7 个监控点
[干货] 前方高能!如何保障 Python 应用的高性能
cloudwise · 2015-09-21 · via 监控宝

Python 作为一种推崇“简单、优雅、明确”的面向对象语言,以其简捷明了的语法结构,丰富的类库,出色的易用性在互联网时代得到了广泛的应用。不论是国外的 Facebook 、 Youtube 、 Instagram 、 Pinterest ,还是国内的知乎、豆瓣,用 Python 开发的 Web 应用已经无处不在。
https://i.v2ex.co/dA1IyG66l.png
而随着云计算时代的到来,以及基于 Python 的云架构开源项目 OpenStack 的流行,越来越多的企业开始引入云服务的概念,尝试利用云计算服务来构建新的高可用架构。而同样地,企业级应用程序的设计与开发方式也发生了转变——开发人员需要构建原生的云计算应用,以便更有效的降低运营成本并提升灵活性。利用云平台与云服务再结合 Python 来进行应用开发,就成为了一种行之有效的途径。
Python 确实是个好语言,简单易用上手快,标准库和 PyPI 第三方库有丰富而又有用的资源,可以快速的解决开发者的问题,而不用重复造轮子,这些特点使得 Python 这几年逐渐流行起来。相对而言, C 受限于较为低级的语法,开发周期长,一般用来开发性能要求高的软件。 Java 偏重于企业开发,缓慢的 JVM 启动速度导致 Java 不适合用来开发系统管理脚本。而 Python 作为一个多面手,被广泛应用于 Web 开发、科学计算、数据分析、云计算(OpenStack )、运维平台和自动化运维(SaltStack )等。
Python 的优点很多,但随着企业业务向云端和移动互联网上的迁移,真实线上环境的复杂性,巨大的流量压力,以及 IT 架构的高可用问题,都会造成 Python 应用的性能瓶颈。作为 Pythoner 的你是否常被这几个问题所困扰:
 代码执行速度真的很快吗?
 代码性能瓶颈出在哪里?
 内存消耗大不大?
 是否存在内存泄漏?
透视宝 Python 监控实现原理
在刚刚举行的 PyConChina 2015 大会上,国内领先的应用性能管理服务商云智慧 VP 刘国强 (Bruce Liu )先生,为广大 Pythoner 带来《 Python 应用性能管理》主题分享,和大家一同探讨云智慧透视宝是如何保障 Python 应用在生产环境下的高性能。
https://i.v2ex.co/dmqJ83YFl.png
针对复杂的 IT 架构,云智慧采用 Backbone 分布式监测节点监控,实现系统统一调度监控任务,所有监控点同步执行,依赖可靠的骨干网监测点执行监控任务,技术上消除网络抖动和噪声带来的干扰,稳定可靠的数据可以用于评估 SLA 。
https://i.v2ex.co/GJe0eIF1l.png
而部署在应用系统中的智能探针会根据应用系统的语言,自动安装对应的探针程序,并为系统绘制应用拓扑。透视宝 Python 探针 pythonAgent 会在框架的 RequestHandler 添加上下文管理器(context manager ),通过 Smartpythonagent 模块实现上下文管理协议的__enter__() 和 __exit__() 方法控制 tracer 进程的起始和结束。 Tracer 进程通过 python 的 sys.settrace ()库方法进行开启和结束代码的 trace 过程。
Output 模块会对 tracer 进程返回的代码 trace 信息进程处理生成我们想要的数据。其中的 tree 是对代码执行过程以方法名作为节点生成树状的结构,能直接通过 tree 来还原代码执行时的方法调用过程。而 Map 则记录 tree 中每个节点的执行信息,如消耗内存,执行时间等。 Output 模块处理完数据后会向 smartAgent 的 sendproxy 发送数据,最后 sendproxy 会向透视宝服务器发送数据。 pythonAgent 的 tracer 进程能跟踪到'call', 'line', 'return', 'exception', 'c_call', 'c_return', or 'c_exception'事件。
https://i.v2ex.co/Yp69xbA5l.png
依托于各种 Web 轻量级应用框架, Python 在 Web 应用上得到最广泛支持,而透视宝的 SmartAgent 支持主流的 Django 、 Tornado 、 CherryPy 、 Flask 、 Pylons 、 Bottle 等应用框架,保证 Python 代码性能数据抓取的准确性和高效能。配合透视宝部署在服务端的其他应用服务监控,包括 Apache 、 Nginx 、 Tomcat 、 Weblogic 、 MySQL 、 Memcache 、 Redis 、 Oracle 、 MongoDB 、 PostgreSQL 等,开发和运维人员能够第一时间发现应用系统的潜在问题,准确定位应用执行缓慢的真实原因。
如何利用透视宝监控 Python 应用
用户可以访问透视宝产品网站: http://toushibao.com/ ,申请免费试用帐号,进入应用管理,下载 Smart Agent 并进行安装,安装完成访问“系统→插件管理”,找到 Smart Agent 所安装的主机,按以下说明来安装、配置及开启相关代码插件。
https://i.v2ex.co/Ul88NBuKl.png
1 、安装 Python 应用发现插件
根据 Web 容器类型安装应用发现插件,该插件可自动发现容器内的所有应用实例并生成应用拓扑图。
 如果直接使用的 Python Server ,可以直接跳过本步骤。
 如果 Web 容器为 Apache
请安装并配置 Apache 类型的应用发现插件 ApacheApp ,配置完成后开启插件。
 如果 Web 容器是 Nginx
请首先在插件的配置界面中选择安装 Nginx 类型的应用发现插件 NginxApp 。安装完成之后您还需要配置 Nginx 插件,与 Apache 不同的是,此时您需要在主机上手工编译,请参考安装目录中“./plugins/nginx_path/README ”文档。
2 、安装并开启 Python 代码监控插件 PythonCode
选择 PythonCode 插件安装并开启, SmartAgent 将自动下载插件至安装目录的 smart_agent/plugins 下。
默认会使用系统 Python 进行安装。修改 PythonAgent.sh 中 PythonCommand 值,可安装至系统中其他 Python 环境。
3 、重启 Web Server
安装开启 Python 代码监控插件后,可能需要您手动重启 web Server ( apache\httpd\Nginx\Python Server 等软件)。
4 、查看 Python 应用数据
配置完成后,大致两分钟后您就可以在“应用”模块中查看数据。
透视宝官网: www.toushibao.com