一、性能问题简介

应用性能是产品用户体验的基石,性能优化的终极目标是优化用户体验。当我们谈及性能,最直观能想到的一个词是“快”,Strangeloop在对众多的网站做性能分析之后得出了一个著名的3s定律“页面加载速度超过3s,57%的访客会离开”,可见页面加载速度对于互联网产品的重要性。

二、性能指标

性能优化是个系统性工程,涉及到后端、前端、移动端、系统网络及各种基础设施,每一块都需要做各自的性能优化。当我们系统的分析性能问题时,可以通过以下指标来衡量:

1、Web端:首屏时间、白屏时间、可交互时间、完全加载时间等

首屏时间是指从用户打开网页开始到浏览器第一屏渲染完成的时间,是最直接的用户感知体验指标,也是性能领域公认的最重要的核心指标。
       首屏时间 = DNS时间 + 建立连接时间 + 后端响应时间 + 网络传输时间 + 首屏页面渲染时间

2、移动端:Crash率、内存使用率、FPS(Frames Per Second, 每秒传输帧数)、端到端响应时间等
       Native相比于H5在交互体验方面有更多的优势,FPS是体现页面顺畅程度的一个重要指标,另外移动端开发同学还需要关注App进程的CPU使用率、内存使用率等系统性能指标。端到端响应时间是衡量一个API性能的关键指标,比纯后端响应时间更全面,它会受到DNS、网络带宽、网络链路、HTTP Payload等多个因素的影响。
       端到端响应时间=DNS解析时间+网络传输时间+后端响应时间

3、后端:响应时间(RT)、吞吐量(TPS)、并发数等

QPS: 每秒钟处理完请求的次数;注意这里是处理完。具体是指发出请求到服务器处理完成功返回结果。可以理解在server中有个counter,每处理一个请求加1,1秒后counter=QPS。
       TPS:每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多。
       并发量:系统能同时处理的请求数
       RT:响应时间,处理一次请求所需要的平均处理时间。后端系统响应时间是指系统对请求做出响应的时间(应用延迟时间),对于面向用户的Web服务,响应时间能很好度量应用性能,会受到数据库查询、RPC调用、网络IO、逻辑计算复杂度、JVM垃圾回收等多方面因素影响。
       对于高并发的应用和系统,吞吐量(TPS)是个非常重要的指标,与CPU、内存资源的消、调用的外部接口及IO等紧密关联。
计算关系:
       QPS = 并发量 / 平均响应时间
       并发量 = QPS * 平均响应时间

三、影响性能的因素

互联网产品是创意、设计、研发、系统、网络、硬件、运维等众多资源相互交织的集合体,性能受多方面因素影响,犹如一只木桶,木桶能盛多少水,取决于最短的那块木板,也可称之为短板效应。影响产品性能的因素有:

1、产品逻辑与用户行为

产品逻辑过于复杂、功能交互过于丰富、产品设计过于绚丽、页面元素素材过多等都会影响产品性能。

2、基础网络

中国的基础网络是世界上最复杂的基础网络,国内的网络运营商众多且各自为政,互联互通成本很高。对于境外业务来说更是要面对国内国际网络交互的情况,再加上GFW的存在,网络延迟、丢包现象非常严重。

3、代码及应用

开发语言瓶颈、代码质量及系统架构等都会影响系统性能,常见的代码及应用问题有:
       (1)、架构不合理。业务发展超越架构支撑能力而导致系统负荷过载,进而导致出现系统奔溃、响应超时等现象。另外不合理的架构如:单点、无cache、应用混部署、没有考虑分布式、集群化等也都会影响性能。
       (2)、研发功底和经验不足。开发的App、Server效率和性能较低、不稳定也是常见的事情。
       (3)、没有性能意识,只实现了业务功能不注意代码性能,新功能上线后整体性能下降,或当业务上量后系统出现连锁反应,导致性能问题叠加,直接影响用户体验。
       (4)、多数的性能问题发生在数据库上。由慢SQL过多查询等原因造成的数据库瓶颈,没有做读写分离、分库分表等。

4、移动端环境

移动互联网时代,移动端环境的复杂性对产品的性能影响也很大,比如用户的设备类型、设备性能、操作系统类型、系统版本及网络类型等。
5. 硬件及云环境

硬件的发展遵循着摩尔定律,生命周期一般都很短,服务器老化或其他硬件问题经常会导致应用故障。IDC、机架、服务器、内存、磁盘、网卡等不同硬件和操作系统上运行的应用性能差距可以达到数十倍之多。

系统性能衡量维度、指标相关推荐

  1. 生活质量衡量系统_数据质量与数据质量八个维度指标

    数据质量与数据质量八个维度指标 数据的质量直接影响着数据的价值,并且直接影响着数据分析的结果以及我们以此做出的决策的质量.质量不高的数据不仅仅是数据本身的问题,还会影响着企业经营管理决策:错误的数据还 ...

  2. 数据产品--浅析如何搭建维度指标系统

    浅析:将数据进行可视化.工具化,根据市场和产品需求进行指标体系设计.计划围绕这个点,描述自己对数据产品设计的一些感受,本文将持续完善. 我们的最终目标:数据驱动增长,个人理解所有繁杂的系统背后目的其实 ...

  3. 软件系统性能的常见指标

    衡量一个软件系统性能的常见指标有: 1.响应时间(Response time)         响应时间就是用户感受软件系统为其服务所耗费的时间,对于网站系统来说,响应时间就是从点击了一个页面计时开始 ...

  4. 【线上分享】短视频出海 — 用户体验衡量关键指标与优化策略

    当前短视频出海趋势依旧强劲,不少团队目标明确,直击诸如中东.东南亚.南美等新市场,面对未知且复杂的网络挑战,因地制宜,合理制定技术指标衡量用户体验至关重要. 11月26日 19:30,我们邀请到了Ak ...

  5. 数字经济-新经济指数(2017-2022)31省数字经济测算(2013-2020)两大维度指标

    1.新经济指数 1.数据来源:财新智库 2.时间跨度:2017-2022 3.区域范围:中国 4.指标说明:中国最具公信力的财新智库和全球领先的大数据公司BBD(数联铭品),通过长时间研究,制作出为中 ...

  6. 沪深A股数据库-上市公司购买理财产品数据、员工持股计划等多维度指标数据

    一.沪深A股上市公司购买理财产品数据 我国经济在稳速发展的过程中,总体上出现了"脱实向虚"的趋势,而经济"脱实向虚"又表现为资本流向金融领域,经济活动的中心向金 ...

  7. java让程序暂停几秒_影响JAVA系统性能的微观指标

    有没有一些办法能够预测我们应用性能和可用性呢?我们是否能够预测我们应用在20分钟之后处于什么状态?我们能不能预测在接下来的20分钟,我们系统是否会出现OOM异常,CPU峰值,系统崩溃?好像是不行的,因 ...

  8. 评价计算机系统性能的综合指标,信息系统性能评价包含哪些指标

    (1)一般系统的性能指标:它主要指GIS稳定性和平均无故障时间; GIS联机响应时间; 处理速度和吞吐量; GIS的利用率; 系统的操作灵活性.方便性.容错性; 安全性和保密性; 加工数据的准确性; ...

  9. 资本-劳动力错配指数计算、金融错配指标两大维度指标(内附代码)

     一.资本错配和劳动力错配指数计算  1.数据来源:各省级统计年鉴/中国统计年鉴. 2.时间跨度:2000-2019年 3.区域范围:31省市自治区 4.指标说明: 资源的稀缺性决定了经济学研究的一个 ...

最新文章

  1. Solaris的md5sum和sha1sum命令
  2. 利用npm安装/删除/发布/更新/撤销发布包
  3. UIKeyboardTypeNumberPad 数字键盘添加完成按钮
  4. zk的数据目录:`version-2`
  5. web安全-XSS攻击(一)
  6. windows下搭建OpenGL ES开发环境
  7. 【LeetCode】剑指 Offer 14. 剪绳子
  8. MySql基本操作教程
  9. Python函数声明以及与其他编程语言数据类型的比较
  10. EPSON ME office 700FW打印机废墨收集垫已到使用寿命解决办法
  11. 9月第2周网络安全报告:境内感染病毒主机68万个
  12. cad的dwg文件转html文件,dwg转dwf文件怎么打开?
  13. java对称矩阵_对称矩阵与压缩存储算法(java实现)
  14. 《失业的程序员》(十五):商业头脑
  15. python3计算列表长度
  16. cnn 分层 可视化 网站_如何可视化分层数据以显示整体关系
  17. MySQL理论:脏读、不可重复读、幻读
  18. 北京的十大尾货批发市场【接近生活】
  19. Windows下反(反)调试技术汇总
  20. Laravel5.5添加新路由文件并制定规则

热门文章

  1. js 获取url的get传值函数
  2. vbs调用WebService -- 使用xmlhttp
  3. 关于Hibernate
  4. 打印网页时背景图片的问题
  5. C++输入一个字符串,去掉这个字符串中出现次数最少的字符 例如: 输入:abcabbc 输出:bbb
  6. 让你不再害怕指针.pdf
  7. 计算机组成原理填空题目,(计算机组成原理练习题.doc
  8. linux中sort命令实例,Linux命令之排序命令sort使用实例
  9. java 格式化 布尔型_这么久才知道Java中的format很强大!
  10. LeetCode 207. 课程表(拓扑排序)