




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PHP应用性能管理与实践目录l 应用性能管理简介l PHP应用性能管理的实现原理l 与常规性能工具的区别l 图表演示l 案例实践复杂的应用交付链应用性能管理?APMApplication Performance Management对软件应用的性能和可用性进行监控和管理, 致力于发现和定位性能瓶颈和故障,以保证应用达到预期的服务水平(SLA)为什么需要APM应用性能测试开发测试阶段实验室测试环境发布前应用性能监测应用运营阶段复杂的生产环境发布后APM全景图SERVER端关注点l 运行性能l 服务质量(异常,错误)l 应用拓扑l 跨应用追踪PHP应用性能管理实现原理基本原理Zend/Opcode
2、/ExtensionsPHP有两大类模块:Zend引擎、扩展层Zend引擎将PHP源文件解释为一系列操作码(opcode), 然后循环执行操作码;扩展层是一组函数、类库和流,PHP使用它们来执行一些 特定功能的操作,例如数据库功能、网络功能。Zend引擎/book/?p=chapt07/07-01-zend-vm-overviewPHP扩展利用扩展机制,增加特定功能,跟踪PHP引擎执行过程相关著名的扩展: xdebug / xhprof听云的PHP APM功能也是一个扩展,实现了跟踪请求及各种 组件性能的功能。嵌码原则可操作性:自动嵌码效率:只在必要的位置嵌入尽量简洁的代码必要 的位 置可能形
3、成 性能瓶颈 的代码可能诱发 性能问题 的服务对应关系关注点名称Http Request 性能扩展Rinit/Rshutdown函数性能内核zend_execute服务质量内核/ 扩展zend_error/SAPI. http_response_code/ Mysql_query result/Curl result/应用拓扑扩展Curl/Mysql/Memcahed/ Redis/Thrift/SOAP/跨应用追踪扩展Curl/SOAP/与常规性能工具的区别PHP-FPM SlowLogPHP-FPM SlowLogPHP将执行时间超过10秒的脚本记录到慢日志文件同时记录到日志中的还有在第1
4、0秒正在运行的函数运行结果php-fpm.conf 配置request_slowlog_timeout = 10APM慢过程跟踪效果自动采集实际性能占比最高的函数xhprofxhprof听云APM嵌码方式手工嵌入代码或 auto_prepend_file无需开发人员参与异常追踪仅采集代码的性能除性能信息还包括执行异常,sql错 误等函数归类无自动归纳为数据库、memcache、redis、web-service等多个分类数据展现手工录入run id,或二次 开发汇总报表各种性能报表和汇总数据:堆叠图、 曲线图、邮件警告、手机短信报警APM图表性能概览应用过程性能慢过程追踪列表慢过程追踪详情跨应
5、用分析数据库性能汇总慢SQL列表SQL详情Web-service错误概览错误列表错误详情1连接数据库 1:3306 失败错误详情2SQL语法错误where条件缺少borrow_nid数值应用拓扑案例实践-某电商重大故障线索的快速发现故障情况l 某电商某一产品线在2016年3月大促期间出现应用性能缓慢的问题。l 架构情况:所有应用均负载均衡到几台服务器,这几台服务器每台上 面均有所有应用的代码, 每个应用依赖多个服务。l 由于业务逻辑关系复杂,存在多个应用相互调用的情况,无法直接定 位问题出现在哪个应用的哪个接口上。分析过程 - 应用性能分解瓶颈:Redisredis处理过程l 通过性能分解曲线,21:00左右发现是redis是性能瓶颈l 查看慢过程跟踪堆栈、代码及相应配置发现是商品在redis集群内分布 不均。虽然redis集群有十几台服务器,但大部分请求的商品集中在其 中某一台Redis上,导致Redis负载过高,响应变慢。l 客户快速调整商品在Redis集群内的分配策略,并做Redis设备调整。l 经
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药店与药店行业协会2025年度合作框架协议简篇
- 2025年度景区停车场车位租赁及旅游服务合同
- 科技博物馆在培养青少年科学素养中的贡献
- 社区健康教育活动实施策略分析
- 社交网络分析大数据时代的企业营销决策支持
- 雇主保姆合同范本
- 社交媒体在促进职场沟通中的作用
- 科技企业的知识产权战略案例分析
- 外墙修缮合同范本
- 知识产权保护从申请到执行的全方位优化
- 三年级书法下册《第9课 斜钩和卧钩》教学设计
- 儿童财商养成教育讲座PPT
- 大学学院学生奖助资金及相关经费发放管理暂行办法
- 2022苏教版科学五年级下册全册优质教案教学设计
- 加油员的安全生产责任制
- 2023年R2移动式压力容器充装操作证考试题及答案(完整版)
- 九年级物理实验记录单
- 2022年湖北省高中学业水平考试真题-音乐学科
- 提高屋面防水施工质量年QC成果
- 部编初中语文古诗词按作者分类梳理
- 博朗IRT6520中文说明书家用版
评论
0/150
提交评论