维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf
-
资源ID:3334975
资源大小:1.83MB
全文页数:40页
- 资源格式: PDF
下载积分:6元
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
维多利亚的秘密-发现隐藏在互联网架构冰山下的性能问题(对外版本)-廖雄杰.pdf
维多利亚的秘密 发现隐藏在互联网架构冰山下的性能问题 演讲人:廖雄杰 互联网架构下的性能发现 互联网架构下的性能问题 应用性能分析与优化 互联网架构下的性能问题 “悦耳”的运维警报响起! 前端响应缓慢 用户开始投诉 应用前端响应缓慢 用户开始投诉 怎么办? 穿上滑板鞋,各种查监控! 应用系统:CPU/内存使用正常!日志无异常! 缓存:QPS、命中率正常! 数据库:CPU、IO正常!无明显慢查询! 怎么办? 打电话给可敬又可爱的程序猿哥哥吧 运维:喂!兄弟! 程序猿:什么事,兄弟?系统又出问题了? 运维:是啊,可以帮忙加几行调试日志吗? 程序猿:好(Zhe)的(Jiao),没(Shen)问(Me)题(Shi)! 10分钟过去了。 半小时过去了。 1小时过去了。 一定是哥查问题的姿势不对! 复杂的技术架构 关系型数据库 分布式缓存 分布式架构 远程调用 云服务 NoSQL 庞杂的监控指标(此处省略100项) CPU/内存/IO 1 网络延时 2 数据库响应 3 缓存命中率 4 谁是导致应用性能问题的元凶? 它真的影响到了应用性能吗? 自下而上?OR 自上而下? 姿势很重要! 用户、应用、性能之间的关系就像 用户 应用 性能 那么问题来了,如何与应用关联? 互联网架构下的性能发现 互联网架构下的性能发现 APM (Application Performance Management) 深入应用代码的性能监控 帮助我们自上而下地发现性能问题 互联网架构下的性能发现 1.获取方法开始时间 2.获取方法完成时间,并计算执行时间 3.上报指标名及性能 4.上报异常 自动嵌入监控代码! Agent 嵌码技术 互联网架构下的性能发现 Java Bytecode/Instrumentation/Classloader PHP Opcode/Zend/Extensions/Xhprof iOS Hook/Swizzle Android Dalvik/Class rewriting 哪些地方需要嵌码? 互联网架构下的性能发现 原则 最少嵌入! 只在必要的地方嵌码! 必要 可能形成性能瓶颈,嵌码! 可能诱发其它性能问题,嵌码! 关键嵌码位置 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 from 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/www/xxx.com/www/htdocs/application/co ntrollers/yxxsn/test.php文件的第472行 CI_DB_driver.query方法中 End