写点什么

项目性能优化—性能优化的指标、目标

作者:EquatorCoco
  • 2024-03-15
    福建
  • 本文字数:1015 字

    阅读完需:约 3 分钟

性能优化的终极目标是什么


性能优化的目标实际上是为了更好的用户体验:

一般我们认为用户体验是下面的公式:

用户体验 = 产品设计(非技术)+ 系统性能 ≈ 系统性能 = 快

那什么样的体验叫快呢?


3 秒定理


一般我们认为网站页面的加载速度在 3 秒以内就可以称作合格了,加载速度越趋近于 0,越快。

3 秒定理:Strangeloop 在对比了众多网站,并对其性能进行分析之后得出了一个著名的 3 秒定理,当网站页面加载速度超过 3 秒后,57%的访客会离开这个网站。

如果想让我们的系统快起来,就要做性能调优。


项目性能优化


以下可以做为优化的标准:

  • 前端工程师:首屏时间、白屏时间、可交互时间、完全加载时间;

  • 移动端工程师:端到端响应时间、Crash 率、内存使用率、FPS;

  • 后端工程师:RT、TPS、并发数。影响因素 1:数据库读写、RPC、网络 IO、逻辑计算复杂度、缓存影响因素 2:JVM[Throughput 吞吐量、Footprint 访存足迹、Latency 延迟]


影响性能的关键要素


  • 产品设计:产品逻辑、功能交互、动态效果、页面元素

  • 基础网络:网络=连接介质+计算终端

  • 代码质量 &架构

  • 移动端环境:设备类型 &性能、网络

  • 硬件及云服务:服务器硬件等

我们怎么去分析性能因素呢,就是既不要去做过度的优化,也不要让某个内容作为短板。

我们怎么找到系统的短板在哪里呢?就是需要进行压力测试。


压力测试


什么是压力测试


压力测试:压力测试是针对特定系统或者组件,为要确认其稳定性而特意进行的严格测试。会让系统在超过正常使用条件下运作,然后再确认其结果。

实际上就是对系统不断施加压力,来预估系统负载能力的一种测试。


什么时候做压测


一般而言,只要在系统基础功能验证完成、系统趋于稳定的情况下,才会进行压力测试。


压测目的


  1. 当负载逐渐增加时,观察系统各项性能指标的变化情况是否有异常;

  2. 发现系统的性能短板,进行针对性的性能优化;

  3. 判断系统在高并发情况下是否会报错,进程是否会挂掉;

  4. 测试在系统某个方面达到瓶颈时,粗略估计系统性能的上限;


压测的指标



响应时间、并发用户数、吞吐量、资源使用率存在一定关系,如下图:



图的解释:


线走势:


  • 绿线:随着用户增长,资源利用率会提升;

  • 紫线:随着用户增长,吞吐量会上升,然后下降;

  • 蓝线:随着用户增长,响应时间的变化趋势;


区域


图中有三个区域:轻负载区、重负载区、塌陷区。


两个横坐标点


第一条虚线的横坐标:最优并发用户数;

第二条虚线的横坐标:最大并发用户数。


文章转载自:随机的未知

原文链接:https://www.cnblogs.com/nicaicai/p/18074206

体验地址:http://www.jnpfsoft.com/?from=001

用户头像

EquatorCoco

关注

还未添加个人签名 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
项目性能优化—性能优化的指标、目标_性能优化_EquatorCoco_InfoQ写作社区