性能优化学习

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

二、性能优化的指标

       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.mzph.cn/news/832870.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java多线程编程之synchronizaed和锁分类

并发编程第三周 1 锁的分类 1.1 可重入锁,不可重入锁 Java提供的synchronized,ReentrantLock,ReentrantReadWriteLock都是可重入锁 可重入:当前线程获取到A锁,在获取之后尝试再次获取A锁是可以直接拿到的。 不可重入:当前线程…

美业SaaS系统多门店收银系统源码-【分润常见问题】讲解(二)

美业管理系统源码 博弈美业SaaS系统 连锁多门店美业收银系统源码 多门店管理 / 会员管理 / 预约管理 / 排班管理 / 商品管理 / 促销活动 PC管理后台、手机APP、iPad APP、微信小程序 ▶ 分润常见问题: 4、若产品的服务方分润>0,则销售方分润和服…

Unity Shader中获取像素点深度信息

1.顶点着色器中对深度进行计算 v2f vert(appdata v) {v2f o;o.pos UnityObjectToClipPos(v.vertex);o.uv TRANSFORM_TEX(v.uv, _MainTex);o.depth (o.pos.z / o.pos.w 1.0) * 0.5; // Normalize depth to [0, 1]return o; }但是达不到预期,最后返回的值一直大于…

2024智能电网与能源系统国际学术会议(ICSGES2024)

2024智能电网与能源系统国际学术会议(ICSGES2024) 会议简介 我们诚挚邀请您参加将在南京隆重举行的2024年智能电网与能源系统国际学术会议(ICSGES2024)。南京,一座历史与现代交织的城市,将为这场盛会提供独特的学术…

力扣刷题--数组--第一天

一、数组 数组特点: 连续内存空间存储得数据元素类型一致数组可以通过下标索引查找数据元素,可以删除、替换、添加元素等 1.1 二分查找 使用二分查找需满足得条件: 数组是有序的;数组中没有重复元素;查找的target…

Rust教程:贪吃蛇游戏(第 1/2 部分)

Its excited to show you how to code the “Snake Game” in Rust! I feel that Snake is the perfect program to showcase your skills. This Snake game has multiple different components. 本文将向您展示如何用 Rust 编写“贪吃蛇游戏”!我觉得贪吃蛇游戏是展…

论文辅助笔记:TimeLLM

1 __init__ 2 forward 3 FlattenHead 4 ReprogrammingLayer

暗区突围进不去/游戏无法启动/掉帧卡顿/报错的解决方法

暗区突围是一款高拟真硬核射击手游,打造了全新的沉浸式暗区战局体验,发行商是腾讯公司。这个游戏名词虽然看起来有些陌生,但其本身的玩法内核毫无疑问的是,这款游戏在画面质量和枪械操作方面,都是手游市场上同类游戏中…

springboot模块以及非springboot模块构成的多模块maven项目最佳构建方式

文章目录 背景一般的实现使用spring-boot-dependencies 更优雅的实现. 背景 有时候构建一个多模块maven项目其中某一个模块是web-service需要使用spring boot,其他模块跟spring boot 完全无关,本文总结一下在这个场景下maven项目最佳构建方式. 一般的实现 网上应该也看到过很…

scp传输显示进度条

在使用scp(Secure Copy)命令传输文件时,如果你想看到传输进度条,可以使用-v(verbose,详细模式)或-P(progress)选项。不过,scp的标准版本通常只提供简单的进度…

我独自升级崛起下载教程 我独自升级崛起怎么一键下载

定于5月8日全球盛大发布的动作RPG力作《我独自升级崛起》,基于备受追捧的同名动画及网络漫画,誓为热情洋溢的游戏爱好者们呈献一场深度与广度兼具的冒险盛宴。这款游戏巧妙融合网络武侠元素,其创意十足的设计框架下,核心叙述聚焦于…

记录一次给PCAN升级固件pcan_canable_hw-449dc73.bin

方法一:网页升级 首先将3.3V与BOOT短接,插入电脑USB接口,识别为STM32 BOOTLOADER,芯片进入DFU模式。 如果电脑没有识别到STM32 BOOTLOADER,或无法驱动,则需要安装ImpulseRC_Driver_Fixer修复工具。 推荐使用Google浏览器打开网页升级选择PCAN固件,点Connect and Update,…

学习Python的第4天:函数与模块的高级应用

经过前三天的Python学习,我们已经掌握了Python的基础知识,包括数据类型、控制结构以及基本的编程实践。今天,我们将进一步探索Python的函数与模块的高级应用,以提升我们的编程能力。 1. 函数的高级应用 函数是Python中组织代码的…

一部手机实现全行业的AI实景自动无人直播软件:为商家提供更便捷的推广方式

随着人工智能技术的快速发展,AI实景自动无人直播软件成为了商家推广产品的新宠。这款软件结合了智能讲解、一键开播、智能回复等多项功能,为商家提供了一种全新的直播方式。 首先,智能讲解功能让专业主播录制直播脚本,并通过软件自…

如何从零开始学习数据结构?

在开始前我有一些资料,是我根据网友给的问题精心整理了一份「数据结构的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!数据结构 算法=程…

Navicat Data Modeler Ess for Mac:强大的数据库建模设计软件

Navicat Data Modeler Ess for Mac是一款专为Mac用户设计的数据库建模与设计工具,凭借其强大的功能和直观的界面,帮助用户轻松构建和管理复杂的数据库模型。 Navicat Data Modeler Ess for Mac v3.3.17中文直装版下载 这款软件支持多种数据库系统&#x…

MySQL之查询 拿下 * 。*

DQL数据查询语言 对上述的的查询操作进行代码演示(续上一篇学生表代码进行处理) 下面是上一篇的代码分享 下面进行简单的查询操作 字符串如果强行进行算数运算默认只为0 查询时常用的单行函数列举 未完待续

极狐GitLab 16.11 重磅发布,更多关于 DevSecOps 的功能更新【五】

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…

什么牌子的骨传导耳机质量好?五大宝藏热门机型测评对比!

我作为一名音乐发烧友,对各类耳机产品都有深入的了解,最近也经常被人问及骨传导耳机哪个牌子好。通过交流,我发现很多人在选择骨传导耳机的时候,都有出现踩坑的情况,这也难怪,随着骨传导耳机热度逐渐增加&a…

将 对象数组 按 对象指定字段 分类为二维数字

例如: arr[ {name:a,age:1}, {name:b,age:2}, {name:c,age:3}, {name:d,age:1}, {name:e,age:1}, {name:f,age:2}, ] 处理结果:sortArr(arr,age) arr[ [{name:a,age:1}, {name:d,age:1},{name:e,age:1}], [{name:b,age:2},{name:f,age:2}], [{name:c,age…