性能分析调优模型

性能测试除了为获取性能指标外,更多是为了发现性能瓶颈和性能问题,然后针对性能问题和性能瓶颈进行分析和调优。在当今互联网高速发展的时代,结合传统软件系统模型以及互联网网站特征,性能调优的模型可以归纳总结为如图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版)》,获作者和出版社授权发布。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

idea 的基本配置

一、安装目录介绍 其中:bin 目录下: 二、配置信息目录结构 这是 IDEA 的各种配置的保存目录。这个设置目录有一个特性,就是你删除掉整个目录之后,重新启动 IntelliJ IDEA 会再自动帮你生成一个全新的默认配置,所以很多…

力扣● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇

● 583. 两个字符串的删除操作 注意审题: 给定两个单词 word1 和 word2 ,返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 删除最少的字符使两者相同,说明留下来的就是最大公共子序列。不要求…

01.Vue2入门

一、为什么要学习Vue 1.前端必备技能 2.岗位多,绝大互联网公司都在使用Vue 3.提高开发效率 4.高薪必备技能(Vue2Vue3) 二、什么是Vue 概念:Vue (读音 /vjuː/,类似于 view) 是一套 **构建用户界面 ** 的 渐进式 …

多种双拼方案的实现

首发日期 2024-03-14, 以下为原文内容: 就像 GNU/Linux 用户, 虽然比例小, 却又分散为一堆不同的发行版. 双拼用户在拼音输入法之中的比例也很小, 同时也分为各种不同的双拼方案. 那么作为一个 双拼 输入法, 最重要的事情是什么呢 ? 嗯, 那当然是支持自定义双拼方案 ! 实际上…

网络协议与层次划分:探索计算机网络体系结构

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

AWTK slider_circle 控件发布

slider_circle 控件。 主要特色: 支持正向和反向支持设置滑块的半径支持背景线宽和颜色支持前景线宽和颜色支持设置是否显示值的文本支持设置起始角度和结束角度支持设置格式化值的格式字符串支持使用图片填充背景和前景 界面效果: 注意: …

【绘图案例-绘图的方式1 Objective-C语言】

一、接下来,我们来说这个,绘图的方式 1.新建一个项目,Name:04-绘图的方式, 方式:就是,我要同样画一条线,然后,用不同的代码,把它写出来,这就叫方式, 我们在storyboard里边,还拖一个UIView,这些步骤都一样, 我们来一个,宽= 300, 高 = 300 , 然后,再来一个水…

zabbix配置

1 下载zabbix 1 配置yum源 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release- 5.0-1.el7.noarch.rpm yum clean all yum makecache fast 完成后会出现zabbix.repo文件 2安装zabbix服务 yum -y install zabbix-server-mysql zabbix-web-mysql z…

计算机网络——物理层(信道复用技术)

计算机网络——物理层(信道复用技术) 信道复用技术频分多址与时分多址 频分复用 FDM (Frequency Division Multiplexing)时分复用 TDM (Time Division Multiplexing)统计时分复用 STDM (Statistic TDM)波分复用码分复用 我们今天接着来看信道复用技术&am…

20W-50W厚膜无感电阻TO-220封装技术规格散热说明

EAK为设计工程师提供了一种开放式屏蔽基板器件,用于需要卓越热性能的应用,开发了一种额定功率高达 50W 的厚膜功率电阻器。该电阻器采用 TO-220 开放式屏蔽基板封装,并具有与基板粘合的绝缘锥形文丘里管,以实现最大的散热。 电阻器…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Counter)

计数器组件,提供相应的增加或者减少的计数操作。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 可以包含子组件。 接口 Counter() 从API version 9开始,该接口…

Flask 专题

[CISCN2019 总决赛 Day1 Web3]Flask Message Board 查看session解密 但不知道密钥,题目说FLASK,那肯定就是找密钥,发现输入什么都没有显示,只有author那里有回显在版上,所以尝试sstl,{{config}}找到密钥 扫目录发现有admin进入…

Python数学建模-2.5Pandas库介绍

2.5.1Pandas基本操作 Pandas是一个强大的Python数据分析库,它提供了快速、灵活且富有表现力的数据结构,设计初衷是为了处理关系型或标记型数据。Pandas的基本操作涵盖了数据的读取、处理、筛选、排序、分组、合并以及可视化等多个方面。 以下是一些Pan…

判断闰年(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int year 2000;//执行循环判断&#xff1b;while (year < 2010){//执行流程&#xff1b;//判断能否整除4&#xff1…

配置IPv4静态路由示例

配置IPv4静态路由示例 图1 配置IP静态路由组网图 组网需求配置思路操作步骤配置文件 组网需求 如图1所示&#xff0c;STA1、STA2和PC1属于不同网段&#xff0c;STA1在AP1中上线&#xff0c;STA2在AP2中上线&#xff0c;要求配置静态路由&#xff0c;使PC1与STA1和STA2能够互…

python之万花尺

1、使用模块 import sys, random, argparse import numpy as np import math import turtle import random from PIL import Image from datetime import datetime from math import gcd 依次使用pip下载即可 2、代码 import sys, random, argparse import numpy as np imp…

Yolo系列算法-理论部分-YOLOv4

0. 写在前面 YOLO系列博客&#xff0c;紧接上一篇Yolo系列算法-理论部分-YOLOv3-CSDN博客 1. YOLOv4-实战破局 2020年&#xff0c;YOLO系列的作者发表声明&#xff0c;出于道德方面的考虑&#xff0c;退出CV界&#xff0c;Alexey Bochkovskiy团队接手&#xff0c;正式推出YOLO…

财富池指标公式--通达信主力资金指标公式,主力资金流向怎么看?

今日分享的通达信主力资金指标公式&#xff0c;是一个分析主力资金进出的指标。 具体信号说明&#xff1a; 当紫色的起涨点主力资金线和红色的拉升资金同时上传0线&#xff0c;并且紫色的拉升线超过资金线&#xff0c;大盘进入派发阶段&#xff0c;后市看涨&#xff0c;是参考…

【python】成功解决使用 np.savetxt 出现ValueError: fname must be a string or file handle

【python】成功解决使用 np.savetxt 出现ValueError: fname must be a string or file handle &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入…

vue2点击左侧的树节点(el-tree)定位到对应右侧树形表格(el-table)的位置,树形表格懒加载

左侧树代码 <el-tree :data"treeData" node-key"id" default-expand-all"" //节点默认全部展开:expand-on-click-node"false" //是否在点击节点的时候展开或者收缩节点:props"defaultProps" node-click"handleNodeC…