性能分析调优模型

news2025/2/24 9:19:39

性能测试除了为获取性能指标外,更多是为了发现性能瓶颈和性能问题,然后针对性能问题和性能瓶颈进行分析和调优。在当今互联网高速发展的时代,结合传统软件系统模型以及互联网网站特征,性能调优的模型可以归纳总结为如图1-5-1所示的知识框架。

系统模型中相关的组件说明如下。

(1)网络分发:网络分发是高速发展的互联网时代常用的降低网络拥塞、快速响应用户请求的一种技术手段,最常用的网络分发就是CDN(Content Delivery Network,即内容分发网络),它依靠部署在世界各地的边缘服务器,通过中心平台的负载均衡、源服务器内容分发、调度等功能模块,使世界各地用户就近获取所需内容,而不用每次都到中心平台的源服务器获取响应结果。比如,南京的用户直接访问部署在南京的边缘服务器,而不需要访问部署在遥远的北京的服务器。

(2)Web服务器:Web服务器用于部署Web服务。Web服务器的作用就是负责请求的响应和分发以及静态资源的处理。

(3)Web服务:Web服务指运行在Web服务器上的服务程序。最常见的Web服务就是Nginx和Apache。

(4)Web Cache:Web Cache指Web层的缓存。一般都用来临时缓存HTML、CSS、图像等静态资源文件。

(5)应用服务器:应用服务器用于部署应用程序,如Tomcat、WildFly、普通的Java应用程序(如jar包服务)、IIS等。

(6)应用程序服务:应用程序服务指运行在应用服务器上的程序,比如Java应用、C/C++应用、Python应用。一般用于处理用户的动态请求。

(7)应用缓存:应用缓存指应用程序层的缓存服务,常用的应用缓存技术有Redis、MemCached等,这些技术手段也是动态扩展的高并发分布式应用架构中经常使用的技术手段。

(8)数据库(DB):用于数据的存储,可以包括关系型数据库以及NoSQL数据库(非关系型数据库)。常见的关系型数据库有MySQL、Oracle、SQL Server、DB2等,常见的NoSQL数据库有HBase、MongoDB、ElasticSearch等。

(9)外部系统:指当前系统依赖于其他的外部系统,需要从其他:外部系统中通过二次请求获取数据,外部系统有时候可能会存在很多个。

图1-5-1中所示的系统模型,是一个互联网中常见的用户请求的分层转发和处理的过程。这个性能调优就是不断采集系统中的性能指标,以及系统模型中各层的资源消耗,从中发现性能瓶颈和性能问题,然后对瓶颈和问题进行分析诊断来确定性能调优方案,最后通过性能压测来验证调优方案是否有效;如果无效,则继续重复这个过程进行性能分析,直到调优方案有效,瓶颈和问题得到解决。这个过程一般是非常漫长,因为很多时候性能调优方案往往不是一次就能有效,或者一次就能解决所有的瓶颈和问题,或者一次就解决了当前的瓶颈和问题,但是继续执行性能压测又可能会出现新的瓶颈和问题。

本文节选自《软件性能测试、分析与调优实践之路(第2版)》,获作者和出版社授权发布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1529211.html

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

相关文章

ClickHouse--13--springboot+mybatis配置clickhouse

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 ClickHouse1.添加maven依赖2.配属数据源3.参数配置4.Druid连接池配置5.entity6.Mapper接口7.Mapper.xml8.controller接口9.创建一个clickhouse表10.测试 ClickHouse…

day04vue学习

day04 一、学习目标 1.组件的三大组成部分(结构/样式/逻辑) ​ scoped解决样式冲突/data是一个函数 2.组件通信 组件通信语法父传子子传父非父子通信(扩展) 3.综合案例:小黑记事本(组件版&#xff09…

基于python的线上购物商城系统

技术:pythonmysqlvue 一、系统背景 如今的时代是信息化的时代,更种信息大爆炸。人们的基本工作生活中都离不开网络和计算机,现如今各类网站、管理系统、app都快速发展,为人们带来更便捷的生活体验。网站类的系统有宣传类网站、企…

Unity类银河恶魔城学习记录11-2 p104 Inventoty源代码

此章节相对较难理解,有时间单独出一章讲一下 Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili InventoryItem.cs…

一文了解Python中的运算

Python的运算符和其他语言类似 数学运算 >>>print 19 # 加法 >>>print 1.3-4 # 减法 >>>print 3*5 # 乘法 >>>print 4.5/1.5 # 除法 >>>print 3**2 # 乘方 >>>print 10%3 # 求…

equals与时间序列攻击

引言 随着信息技术的迅速发展,网络安全和隐私问题变得愈发重要。黑客和攻击者不断寻找新的攻击方法,其中之一是时间序列攻击(Timing Attack)。时间序列攻击是一种侧信道攻击,攻击者试图通过测量程序的执行时间来推断程…

施工方项目管理软件哪个好?找企智汇施工项目管理软件!

施工方项目管理软件市场上确实存在多个选择,每个软件都有其独特的特点和优势。而在这些选项中,企智汇施工项目管理系统以其卓越的性能和丰富的功能脱颖而出,成为众多施工方的必选软件。 企智汇施工项目管理系统在项目管理方面表现出色&#…

【C++】用红黑树模拟实现set、map

目录 前言及准备:一、红黑树接口1.1 begin1.2 end1.3 查找1.4 插入1.5 左单旋和右单旋 二、树形迭代器(正向)2.1 前置 三、模拟实现set四、模拟实现map 前言及准备: set、map的底层结构是红黑树,它们的函数通过调用红…

[已解决] vscode 跳转 python 代码失败

linux 环境下,"Ctrl 单击" 跳转函数定义失败,可以尝试下面的方法: setting -> 输入 go to definition -> 将下列两项配置改为 goto (不过当存在多个同名函数时,可能跳转会不符合预期)

Vulnhub靶机渗透:DC-7打靶记录

前言 自信自强,来自于不怕苦、不怕难的积淀。宝剑锋从磨砺出,梅花香自苦寒来;任何美好理想,都离不开筚路蓝缕、手胼足胝的艰苦奋斗! 靶场介绍 DC-7是一个初中级的靶场,需要具备以下前置知识:…

联发科MT8797迅鲲1300T规格参数_MTK5G安卓核心板方案定制

联发科MT8797(迅鲲1300T)平台采用Arm Cortex-A78和Cortex-A55组成的八核架构CPU,以及Arm Mali-G77MC9九核GPU,集成了AI处理器MediaTek APU,支持5G Sub-6GHz全频段和5G双载波聚合,支持1.08亿像素拍照和多镜头组合,以及1…

每日五道java面试题之mybatis篇(五)

目录: 第一题. 实体类属性名和表中字段名不⼀样 ,怎么办?第二题. Mybatis是否可以映射Enum枚举类?第三题. Mybatis能执⾏⼀对⼀、⼀对多的关联查询吗?第四题. Mybatis是否⽀持延迟加载?原理?第五题. 如何获…

SAP HCM 读取上月考勤结果

转移前一期间都是累计读取上一个月de 数据,例如现在是4月,系统就会读取123月的累计 如果想只读取上个月的数据,就要设置前一期期间余额 因为一月只有31天 现在看3月 因为二月只有29天 2004年

软件设计师18--IO管理软件

软件设计师18--IO管理软件 考点1:IO管理软件例题: 考点1:IO管理软件 例题: 1、I/O设备管理软件一般分为4个层次,如下图所示。图中①②③分别对应(D)。 A、设备驱动程序、虚设备管理、与设备无关的系统软件…

Java13_反转字符串中的单词 III(方法二String转换成字符数组)

反转字符串中的单词 III 给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入:s "Lets take LeetCode contest" 输出:"steL ekat edoCteeL tset…

退休人员档案管理系统

退休人员档案管理系统是一种用于管理退休人员档案信息的软件系统。该系统可以实现退休人员档案的录入、查询、修改、删除和统计等功能,方便管理人员对退休人员档案信息进行有效管理。 玖拓智能退休人员档案管理系统可以通过录入退休人员的个人信息、退休时间、退休单…

循环链表的用法

7.设 数 组 data[m] 作 为 循 环 队 列 SQ 的 存 储 空 间 ,front 为 队 头 指 针 ,rear 为 队 尾 指 针 ,则 执 行 出 队 操 作 后 其 头 指 针 front 值 为 ( ) A.frontfront1 B.front(front1…

MyBatis是纸老虎吗?(三)

上篇文章——《MyBatis是纸老虎吗?(二)》——梳理了MyBatis的执行流程,这篇文章想详细聊聊MyBatis的解析过程。当我把这个想法讲个同事时,他不可置信的说道:“这有什么好梳理的?难道你要介绍xml…

腾讯春招后端一面(算法篇)

前言: 哈喽大家好,前段时间在小红书和牛客上发了面试的经验贴,很多同学留言问算法的具体解法,今天就详细写个帖子回复大家。 因为csdn是写的比较详细,所以更新比较慢,大家见谅~~ 就题目而言,…

实现:mysql-5.7.42 到 mysql-8.2.0 的升级(二进制方式)

实现:mysql-5.7.42 到 mysql-8.2.0 的升级(二进制方式) 1、操作环境1、查看当前数据库版本2、操作系统版本3、查看 Linux 系统上的 glibc(GNU C 库)版本(**这里很重要,要下载对应的内核mysql版本…