维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf

上传人:李主任 文档编号:3334975 上传时间:2019-08-13 格式:PDF 页数:40 大小:1.83MB
返回 下载 相关 举报
维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf_第1页
第1页 / 共40页
维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf_第2页
第2页 / 共40页
维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf_第3页
第3页 / 共40页
维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf_第4页
第4页 / 共40页
维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf》由会员分享,可在线阅读,更多相关《维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf(40页珍藏版)》请在三一文库上搜索。

1、维多利亚的秘密 发现隐藏在互联网架构冰山下的性能问题 演讲人:廖雄杰 互联网架构下的性能发现 互联网架构下的性能问题 应用性能分析与优化 互联网架构下的性能问题 “悦耳”的运维警报响起! 前端响应缓慢 用户开始投诉 应用前端响应缓慢 用户开始投诉 怎么办? 穿上滑板鞋,各种查监控! 应用系统:CPU/内存使用正常!日志无异常! 缓存:QPS、命中率正常! 数据库:CPU、IO正常!无明显慢查询! 怎么办? 打电话给可敬又可爱的程序猿哥哥吧 运维:喂!兄弟! 程序猿:什么事,兄弟?系统又出问题了? 运维:是啊,可以帮忙加几行调试日志吗? 程序猿:好(Zhe)的(Jiao),没(Shen)问(Me

2、)题(Shi)! 10分钟过去了。 半小时过去了。 1小时过去了。 一定是哥查问题的姿势不对! 复杂的技术架构 关系型数据库 分布式缓存 分布式架构 远程调用 云服务 NoSQL 庞杂的监控指标(此处省略100项) CPU/内存/IO 1 网络延时 2 数据库响应 3 缓存命中率 4 谁是导致应用性能问题的元凶? 它真的影响到了应用性能吗? 自下而上?OR 自上而下? 姿势很重要! 用户、应用、性能之间的关系就像 用户 应用 性能 那么问题来了,如何与应用关联? 互联网架构下的性能发现 互联网架构下的性能发现 APM (Application Performance Management) 深

3、入应用代码的性能监控 帮助我们自上而下地发现性能问题 互联网架构下的性能发现 1.获取方法开始时间 2.获取方法完成时间,并计算执行时间 3.上报指标名及性能 4.上报异常 自动嵌入监控代码! Agent 嵌码技术 互联网架构下的性能发现 Java Bytecode/Instrumentation/Classloader PHP Opcode/Zend/Extensions/Xhprof iOS Hook/Swizzle Android Dalvik/Class rewriting 哪些地方需要嵌码? 互联网架构下的性能发现 原则 最少嵌入! 只在必要的地方嵌码! 必要 可能形成性能瓶颈,嵌码

4、! 可能诱发其它性能问题,嵌码! 关键嵌码位置 HTTP请求 Redis/Memcached MongoDB/Cassandra MQ Web Service/RPC 第三方服务 MySQL/Oracle 自上而下的性能发现 互联网架构下的性能问题 mysql set global slow_query_log=on; MySQL slowlog 互联网架构下的性能问题 MySQL slowlog SQL性能分析:User/SELECT最长 SQL性能分析: User/SELECT 慢SQL追踪-User/SELECT rows条数过多 慢SQL追踪-优化建议 SQL: SELECT id f

5、rom user WHERE status in (?,?,-?) ORDER BY createTime DESC LIMIT ?,? 优化: 1. 单纯从DBA的角度优化很困难 2. 建议应用层配合,where中增加 createTime条件 应用性能分析与优化 移动端性能报告 用户的期望是移动平台的速度能和PC上一样快 摘自:11 Reasons to Care About Mobile Performance in 2015 如果页面在3秒内打不开,40%的用户选择离开 应用性能分析 应用性能分析:CI/snsforrob/batch_mark耗时百分比达到 21% 应用性能分析:慢应用过程追踪 应用性能分析:慢应用过程追踪 从追踪详情可查看详细的代码调用堆栈,通过 堆栈分析,可获取调用mysql_query的代码在 /var/ ntrollers/yxxsn/test.php文件的第472行 CI_DB_driver.query方法中 End

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/环境 > 装饰装潢


经营许可证编号:宁ICP备18001539号-1