最近,大家似乎都对性能优化分析,这一方面比较感兴趣。一方面是比较感兴趣,另一方面就是遇见许多类似的状况,但是,却不知从何下手,根源在哪里?应当如何正确优化?首先,先跟大家讲解下常见的性能优化策略分类!

  一、常见性能优化策略分类

1、代码

  之所以把代码放到第一位,是因为这一点最容易引起技术人员的忽视。很多技术人员拿到一个性能优化的需求以后,言必称缓存、异步、JVM等。实际上,第一步就应该是分析相关的代码,找出相应的瓶颈,再来考虑具体的优化策略。有一些性能问题,完全是由于代码写的不合理,通过直接修改一下代码就能解决问题的,比如for循环次数过多、作了很多无谓的条件判断、相同逻辑重复多次等。

2、数据库

  数据库的调优,总的来说分为以下三部分:

①、SQL调优

  这是最常用、每一个技术人员都应该掌握基本的SQL调优手段(包括方法、工具、辅助系统等)。这里以MySQL为例,最常见的方式是,由自带的慢查询日志或者开源的慢查询系统定位到具体的出问题的SQL,然后使用explain、profile等工具来逐步调优,最后经过测试达到效果后上线。这方面的细节,可以参考MySQL索引原理及慢查询优化。

②、架构层面的调优

  这一类调优包括读写分离、多从库负载均衡、水平和垂直分库分表等方面,一般需要的改动较大,但是频率没有SQL调优高,而且一般需要DBA来配合参与。那么什么时候需要做这些事情?我们可以通过内部监控报警系统(比如Zabbix),定期跟踪一些指标数据是否达到瓶颈,一旦达到瓶颈或者警戒值,就需要考虑这些事情。通常,DBA也会定期监控这些指标值。

③、连接池调优

  我们的应用为了实现数据库连接的高效获取、对数据库连接的限流等目的,通常会采用连接池类的方案,即每一个应用节点都管理了一个到各个数据库的连接池。随着业务访问量或者数据量的增长,原有的连接池参数可能不能很好地满足需求,这个时候就需要结合当前使用连接池的原理、具体的连接池监控数据和当前的业务量作一个综合的判断,通过反复的几次调试得到最终的调优参数。

  刚刚上面我们聊到了性能优化分析,那就不得不说一下“友盟”了,友盟+U-APM应用性能监控平台,能全面地捕获应用崩溃、ANR、自定义异常、卡顿、启动分析等问题,针对用户反馈的问题,通过借助U-APM进行路径的排查,轻松解决Android 软件性能普遍存在的难题,全面提升用户体验 。

  比如说我们使用的Android系统,我们对APP的性能优化越来越重视,如果说在使用过程当中,遇见了崩溃、卡顿、ANR、启动慢等问题,此刻,我们就可以使用友盟性能监控平台!

  另外,基于友盟的基础能力,我们可以实时统计日活,事件上报等功能,还是非常不错的。当然,采集的日志,包括检测到的异常;我们拿到日志之后,需要我们自己去分析,这个分析的过程,就需要个人的经验了,以及细心和耐心,解决Bug的道路是枯燥且乏味的,更需要好用的工具助力,一路披荆斩棘~打败各种“Bug怪兽”。

U-APM应用性能监控平台,通过轻量级的集成接入即可拥有实时、可靠、全面的应用崩溃、ANR、自定义异常等捕获能力, 及卡顿、启动分析、内存分析、网络分析等性能监测能力,支持多场景、多通道智能告警监测,帮助 开发者高效还原异常、卡顿用户的访问路径和业务现场,缩短故障排查时间。提供云真机测试能力, 助力开发者从研发测试质量验收到线上问题复现排查,保障应用品质,提升测试效率。在云真机测试 期间自动采集崩溃信息,提供详尽的崩溃报告协助筛查,真正实现监控测试全流程深度打通。

性能优化分析及常见性能优化策略总结相关推荐

  1. 使用英特尔® 图形性能分析器分析实际游戏性能

    Philipp Gerasim... 于 星期一, 04/07/2011 - 21:28 提交 作者:郭胜.Philipp Gerasimov.Neal P. 和 Bonnie Aona 英特尔公司软 ...

  2. 分析linux系统的运行性能,Linux系统下常见性能分析工具的使用

    在前面的文章中,我简单介绍了影响linux性能的几个方面以及如何解决这些方面的问题,但是如何才能从系统上发现是某个方面或某几个方面出现问题了呢,这就需要使用linux系统提供的几个常用性能分析工具,下 ...

  3. Unity移动端游戏性能优化简谱之 常见游戏内存控制

    <Unity移动端游戏性能优化简谱>从Unity移动端游戏优化的一些基础讨论出发,例举和分析了近几年基于Unity开发的移动端游戏项目中最为常见的部分性能问题,并展示了如何使用UWA的性能 ...

  4. 项目性能优化之性能问题分析和压力测试

    项目性能优化之性能问题分析和压力测试 性能问题分析 为什么要性能优化 影响性能的关键要素 性能优化出发点 性能压力测试 什么是压力测试 压力测试的指标 常用压测工具 性能问题分析 为什么要性能优化 应 ...

  5. 通用优化软件GAMS的数学建模和优化分析

    优化分析是很多领域中都要面临的一个重要问题,求解优化问题的一般做法是:建立模型.编写算法.求解计算.常见的问题类型有线性规划.非线性规划.混合整数规划.混合整数非线性规划.二次规划等,优化算法包括人工 ...

  6. 基于通用优化软件GAMS的数学建模和优化分析实践

    优化分析是很多领域中都要面临的一个重要问题,求解优化问题的一般做法是:建立模型.编写算法.求解计算.常见的问题类型有线性规划.非线性规划.混合整数规划.混合整数非线性规划.二次规划等,优化算法包括人工 ...

  7. 亿级PV,常见性能优化策略总结与真实案例

    作者:晓明 来自:美团技术团队 0 题记 美团网是国内最大的O2O服务平台,虽然经常面临高并发.大流量等问题,但在用户体验优化上美团APP仍被众多IT同行所推崇,他们在性能优化方面积累的宝贵经验尤其值 ...

  8. redis集合数据过期_关于redis性能问题分析和优化

    一.如何查看Redis性能 info命令输出的数据可以分为10个分类,分别是: server,clients,memory,persistence,stats,replication,cpu,comm ...

  9. Android 应用性能优化(4)---Android App性能评测分析-启动时间篇

    Android App性能评测分析-启动时间篇 1.前言 随着项目版本的迭代,App的性能问题会逐渐暴露出来,而好的用户体验与性能表现紧密相关,性能问题从应用的启动优化开始,下面会根据实际app性能测 ...

最新文章

  1. (转)Mac下MySql安装经历(含安装错误排查、卸载多种折腾)
  2. 恩布开源安卓手机IM,EntboostIM发布1.5.2版本
  3. Css中Position属性的含义
  4. 深入理解javascript原型和闭包(11)——执行上下文栈
  5. Web打印连续的表格,自动根据行高分页
  6. java学习笔记20(Arraylist复习,Collection接口方法,迭代器,增强型for循环)
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的超市库房管理系统
  8. node 的多进程架构
  9. [springboot]集成org.quartz-scheduler进行任务调度(定时任务)
  10. 测试团队的建设和管理
  11. 第十一课 区块链常用共识算法介绍
  12. 故障分析 | 数据库表空间被 rm 后,怎么处理
  13. 二、计算机网络体系架构——网络工程师成长之路
  14. matlab实现模糊控制器并仿真,用Matlab实现空调温度模糊控制器的设计与仿真
  15. [prometheus]Step7-prometheus使用阿里云企业邮箱告警
  16. 华为云云商店星品入“沪”,加速产业数字共赢!
  17. 一个人可以办几张电话卡?
  18. 编程时常犯的几个错误、应注意的事项以及技巧
  19. 2022中国济南国际养老服务业博览会
  20. [FPGA系列] 扩展知识 --- QPSK调制解调器

热门文章

  1. 重启计算机后ip丢失,win7系统电脑重启后ip地址丢失不能上网的解决方法
  2. Packet Tracer - 配置快速 PVST+
  3. layui-from
  4. 微信扫码支付 php代码
  5. ElasticSearch 全文搜索
  6. 【Mac】破解死循环,成功安装 Homebrew、curl、wget,快速配置 zsh
  7. 操作系统课设附代码完整版(出自19级jhy课设)
  8. BUUCTF——异性相吸 题解
  9. [ZJOI2015] 诸神眷顾的幻想乡
  10. jmeter非gui运行,jtl生成了,但是html报告没有生成