性能优化学习

devtools/2024/9/23 13:54:08/

一、明确优化目标
提升吞吐量还是相应速度。

二、性能优化的指标

       1) 平均响应时间  
        服务接口的平均处理能力。
        向某个网站发送n次请求,n次请求相应时间除以n得到的时间。   短时间请求慢,然后又变好,平均响应时间无法反映出性能波动。

        2)百分位数
        应用接口的整体相应情况
        超过 N% 的请求都在 X 时间内返回。比如 TP90 = 50ms,意思是超过 90% 的请求,都在 50ms 内返回。
        TP50、TP90、TP95、TP99、TP99.9 等多个段,对高百分位的值要求越高,对系统响应能力的稳定性要求越高。

       3)并发量
       指的是系统能够同时处理的请求数量,反映的是系统的负载能力。

        4)秒开率
        前端网页或者APP能够在1秒内很平滑的打开,尤其是首页的加载 超过3秒则用户可能直接退出不在使用,这里强调后端优化的同事,也需要对前端进行优化。

        5)正确性
      优化后的性能提高后,数据依旧要是正确的。

三、附言

1、除非必要,一开始不要优化(尤其是开发阶段)
2、有些优化准则已经过时,需要考虑当下的软硬件环境(不要墨守成规)
3、不要过分强调某些系统级指标,如cache 命中率,而应该聚焦性能瓶颈点
4、不盲从,测试、找到系统的性能瓶颈,再确定优化手段
5、注意权衡优化的成本和收益(有些优化可能需要现有架构做出调整、增加开发/运维成本)
6、优化的目标是用户体验、降低硬件成本(降低集群规模、不依赖单机高性能)
7、测试环境的优化手段未必对生产环境有效(优化需要针对真实情况)

四、相关实操

1、接口访问时间     qps      jmeters接口压测 

2、数据库访问时间     执行计划 

3、cpu  内存  磁盘使用率  第三方监测工具  arths


http://www.ppmy.cn/devtools/39949.html

相关文章

AI工具的热门与卓越:揭示AI技术的实际应用和影响

文章目录 每日一句正能量前言常用AI工具创新AI应用个人体验分享后记 每日一句正能量 我们在我们的劳动过程中学习思考,劳动的结果,我们认识了世界的奥妙,于是我们就真正来改变生活了。 前言 随着人工智能(AI)技术的快…

leetcode206-Reverse Linked List

题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 分析 用一个指针记录当前位置,另外一个指针记录当前位置的前一个位置&#xff0c…

Django性能之道:缓存应用与优化实战

title: Django性能之道:缓存应用与优化实战 date: 2024/5/11 18:34:22 updated: 2024/5/11 18:34:22 categories: 后端开发 tags: 缓存系统Redis优点Memcached优缺点Django缓存数据库优化性能监控安全实践 引言 在当今的互联网时代,用户对网站和应用…

数组小游戏

练习1:多个字符从两端移动,向中间汇聚(go to beijing) char arr1[]"go to beijing"; char arr2[]"*************";记住,数组元素通过下标访问 第一步,我们想将 (arr1的第一个元素) 放…

汇昌联信科技:拼多多可以做无货源吗?

在探讨电商平台的经营模式时,"无货源"这一概念经常被提及。它指的是卖家在不需要事先囤积大量商品的情况下,通过与供应商的合作,直接将订单信息传递给他们,由供应商完成发货的过程。针对“拼多多可以做无货源吗?”这一…

OpenHarmony实战开发——引入开源C/C++库之Har包里的NDK

Har 包 HAR(Harmony Archive)是静态共享包,可以包含代码、C 库、资源和配置文件。通过 HAR 可以实现多个模块或多个工程共享 ArkUI 组件、资源等相关代码。HAR 不同于 HAP,不能独立安装运行在设备上,只能作为应用模块…

蓝桥杯 算法提高 ADV-1169 区间覆盖问题 python AC

关键字:贪心 先对输入内容处理,只保存每个起点最长的那个终点,一步步替换当前位置为最长的那个终点,考虑到可能会有重叠(如1-4, 3-5),当找不到当前终点时,把当前位置-1继…

设计模式——策略模式(Strategy)

策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时动态地改变一个对象的行为。策略模式定义了一系列的算法,并将每一个算法封装起来,使它们可以互相替换。策略模式使得算法可以独立于使用它的客户端变化…