如何搞好性能优化

简介: 想必大家都晓得,程序员想要提升,性能优化这块是最重要的一点,实现同样的功能,不同的设计思路能够极大的节省服务器开销,能够更好的提高用户体验,本篇文章我们就来一起探讨一下,性能优化优化的是哪些点。

性能优化的几个指标

  • QPS(每秒响应请求数量)

    QPS的提升,说明程序能够支持更大的并发,支持更多人同时在线

  • 延迟(执行时间)

    低延迟,说明响应速度快

  • 内存的使用率

    内存的飙高,往往涉及到内存溢出能一系列问题,也能看出我们对JVM的管理

  • 磁盘吞吐

    往往能为我们展现出I/O的使用情况

  • CPU

    CPU问题往往涉及到多线程,锁,死循环等等

  • 网络吞吐

    能够描述网络的使用情况

  • ...

性能优化的几大原则

  • 数据至上

    我们在分析定位性能问题,都需要有数据作为支撑,我们可以通过日志,压测等来分析问题,不能凭借感觉,我们应该查看系统监控界面,定位分析瓶颈出在哪里。

  • 禁忌过早优化

    过早的优化不光起不到明显效果,还可能南辕北辙。

  • 禁忌过度优化

    优化经常会是以空间换时间之类的,可能在某个角度被优化了,但站在其它角度又带来了新的问题

  • 不能脱离业务

    程序的最终职责是为了完成业务需求,做好用户体验,不能因为优化去改变需求。

  • 长期坚持

    性能优化是一件长期的事情,面对数据增长,需求堆叠会带来新的新能瓶颈,需要做好持久战的准备。

  • 选择合适的衡量标准

    上一节说道评判性能的一些指标,我们在发现性能问题时要选择合适的衡量指标,优化前后进行对比,也需要检测其它指标,防止优化后带来新的性能问题。

性能优化的时机

  • 需求提出阶段

    在需求分析阶段,要做好思考,分析需求的合理性,找到更好的解决方案

  • 设计阶段

    在做架构设计,技术选型,接口设计,数据库设计的时候,在设计上做好工作,避免出现瓶颈无法优化,需要推到重来。

  • 实现阶段

    编码的时候,使用更优的算法,更适合的设计模式来优化代码。

  • 维护阶段

    随着数据的不断增多,慢SQL逐渐显现出来,还有一些接口速度过慢等等,需要我们去积极解决这些性能问题。

性能优化的方法

  • 借助缓存优化

    因为数据库一直都是应用的最大瓶颈,所以善于使用缓存也是重要的优化手段,这就是最典型的以空间换时间的思想。

  • 使用并行处理优化

    并行处理,也就是我们的多线程处理,将串行的执行,变为并行,能够更好的利用多核cpu的优势。

  • 使用批量处理优化

    使用批量处理往往更能节约资源,提高处理速度,尤其体现在网络IO、磁盘IO.

  • 使用惰性加载优化

    惰性加载,也就是懒加载,在需要使用的时候我们才会去创建实例。

  • 缩小解空间

    即缩小解题空间,就像数据库建立索引,通过索引,让我们不必去大海捞针,能够极大的提高响应速度。

  • 提升代码质量

    更简洁、规范的代码,不但便于维护,更能体现出高性能。

目录
相关文章
|
6月前
|
消息中间件 缓存 NoSQL
如何做性能优化?
如何做性能优化?
|
2月前
|
存储 缓存 前端开发
灵魂拷问-前端到底能做些什么?--性能优化篇
作者最近在尝试对负责的平台进行性能优化,本文整理了些前端性能优化的一些常见策略。
|
3月前
|
缓存 Android开发 UED
安卓应用开发中的性能优化实践
【8月更文挑战第31天】在安卓的世界里,性能是王道。本文将带你深入理解如何通过代码优化和工具使用来提升你的安卓应用性能。我们将一起探索内存管理、布局优化、多线程处理等关键领域,并配以实用的代码示例,让你的应用飞一般地运行起来!
|
6月前
|
缓存 移动开发 Android开发
Android应用性能优化实践
【5月更文挑战第20天】 在移动开发领域,应用的性能直接关乎用户体验。特别是对于Android平台,由于设备多样性和应用生态环境的复杂性,性能优化成为了开发者必须面对的挑战。本文将深入探讨Android应用性能优化的多个方面,包括内存管理、UI渲染、多线程处理以及电池效率等,旨在为开发者提供一系列实用的优化策略和技巧。
|
6月前
|
缓存 移动开发 Android开发
安卓应用性能优化实践
【5月更文挑战第27天】在移动开发领域,应用的性能直接影响用户体验。特别是对于安卓平台,由于设备多样性和应用生态环境的复杂性,性能优化成为了开发者的一项重要任务。本文将探讨针对安卓平台进行应用性能优化的策略与实践,包括内存管理、电池效率以及响应速度提升等方面,旨在为开发人员提供一套实用的性能调优工具和思路。
|
6月前
|
设计模式 缓存 Android开发
深入理解Android应用性能优化
【2月更文挑战第18天】在移动开发领域,应用性能是用户体验的关键因素之一。特别是对于安卓设备而言,由于硬件配置的多样性,确保应用在不同设备上都能流畅运行是一项挑战。本文将探讨Android应用的性能优化策略,包括内存管理、UI渲染、多线程处理以及电池效率等方面。通过实例和最佳实践,我们将展示如何诊断性能瓶颈,并提供解决方案来改善应用响应速度和稳定性。
|
6月前
|
缓存 前端开发 JavaScript
web前端性能优化,这几点让你的代码质量变高
web前端性能优化,这几点让你的代码质量变高
|
监控 网络协议 Java
【深入了解系统性能优化】「实战技术专题」全方面带你透彻探索服务优化技术方案(系统服务调优)
系统运行缓慢,执行速度较差虽然没有对用户或公司造成实质性的损失,但它从侧面反映出系统在某些方面存在问题。可能需要对系统参数进行优化,或者对系统的设计和交互进行调整,这是后续系统性能优化的一个重要过程。我们将继续努力优化系统,以确保其高效运行和良好性能,以提升用户体验并最大程度地满足业务需求。我们希望通过系统调优的历程,解决当前存在的问题,并不断改进系统的运行,为用户提供更好的服务。
357 0
【深入了解系统性能优化】「实战技术专题」全方面带你透彻探索服务优化技术方案(系统服务调优)
|
存储 缓存 前端开发
网站前端性能优化终极指南
网站前端性能优化终极指南
210 0
网站前端性能优化终极指南
|
SQL 缓存 NoSQL
对你的系统做过哪些性能优化?
列举项目实践过程中对系统做过的性能优化
178 0
下一篇
无影云桌面