软件系统性能常识

【基础架构】——软件系统复杂度的来源(高性能) 摘要 本文探讨了软件系统高性能带来的复杂度问题。复杂度主要来源于单机性能和集群性能两方面。单机复杂度围绕操作系统展开,从批处理、多进程、多线程到多核处理器的演进,都是为了充分挖掘硬件性能。集群复杂度则通过任务分配和任务分解两种方式来实现高性能:任务分配通过增加机器数量提升处理能力,但会带来任务分配器、连接管理等新问题;任务分解将复杂业务拆分为简单子系统,更易于性能优化。两种方式各有优劣,架构设计需要根据业务特点进行权衡和组合。高性能架构的核心在于平衡硬件能力与软件复杂度,这需要深入理解各种技术方案的适用场景 阅读详情
 

软件系统性能常识

分类: 技术研究 架构设计 137人阅读 评论(0) 收藏 举报

 

     不管是系统设计人员、开发人员还是测试人员,要构建高性能的系统,对于系统性能的一些常用术语都不了解,那是无从做起的,这里主要介绍几个软件性能指标的术语及计算方法,便以在性能优化及性能评判时有的放矢:

1.响应时间

     响应时间是系统对用户请求作出响应的时间,响应时间是用户对系统性能最直观的感受,因此直接表现了系统的性能。影响系统响应时间的因素主要有以下几个:

    1) 网络传输时间:包含请求信息传送致服务器、服务器信息返回用户等时间计为NT

    2)应用服务器处理时间:服务器响应用户请求,封装数据并发出,计为AT 

    3)数据库服务器处理时间:数据库数据操作执行及返回服务器时间。计为DT

    响应时间=NT+AT+DT,由此我们可以看出,响应时间受到多个方面的影响,这些因素的时间都与初始数据量有较大的影响,因此在系统开发及测试过程中,合适的初始化数据非常重要。同时,单用户情况下与并发用户的响应时间通常会有较大差异,合适的并发用户也是必要的。

2.并发用户

    1)系统用户数:系统额定的用户数量,如一个系统中,可能使用该系统的用户总数是2万个,那么这个数量,就是系统用户数。

    2)同时在线用户数:在一定的时间范围内,最大的同时在线用户数量,也就是高峰在线用户数。

    3)平均并发用户数的计算:C=nL / T,其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统)。

    4)并发用户数峰值计算:C^约等于C + 3*根号C,其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论。

    通过以上公式,可以计算出系统应该能够承受的平均并发用户数及并发峰值,在系统架构设计及研发、测试过程中,务必保证系统能够在高峰并发情况下性能表现达到用户需求。

3.吞吐量

   系统吞吐量是指指单位时间内系统处理用户的请求数

    1)从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量

    2)从网络角度看,吞吐量可以用:字节/秒来衡量

    对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力以不同方式表达的吞吐量可以说明不同层次的问题,例如,以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;已请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:F=VU * R / T,其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间。

    在以往的应用中,对于系统吞吐量,我们更多关注于字节/秒指标,但这块只体现了一个方面的系统吞吐量。对于业务操作而言,F=VU * R / T更有意义,这块吞吐量指标设计应当在每个特定的应用功能级别进行设计与测试。

4.思考时间

    Think Time,从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔,而在做性能测试时,为了模拟这样的时间间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。在吞吐量这个公式中F=VU * R / T说明吞吐量F是VU数量、每个用户发出的请求数R和时间T的函数,而其中的R又可以用时间T和用户思考时间TS来计算:R = T / TS,一般情况下,按如下步骤计算思考时间:

A、首先计算出系统的并发用户数:C=nL / T     F=R×C

B、统计出系统平均的吞吐量:F=VU * R / T R×C = VU * R / T

C、统计出平均每个用户发出的请求数量:R=u*C*T/VU

D、根据公式计算出思考时间:TS=T/R

 

    通常情况下,以上这些指标只是测试人员熟悉,但如果要构建一个高性能的系统,在设计之初就应当将这些指标做为系统的一个核心非功能特性写入设计文档并贯彻在开发执行过程中,这样才能予以系统性能稳固保障,因此,不管是系统设计人员、开发人员还是测试人员,都应当对这些指标非常熟悉。

瑞萨 RL78 开发环境实战:从 CS+ for CC 到 e² studio 高效开发 本文详细介绍了瑞萨RL78单片机开发环境的选择与配置,对比分析了CS+ for CC和e² studio的特点及适用场景。内容涵盖环境安装、工程创建、调试技巧、外设驱动开发和低功耗设计等实战经验,为开发者提供全面的RL78入门指南,帮助快速上手并高效开发。 阅读详情

相关推荐

几何修复_ANSYS流体分析:几何前处理

建模及几何处理工具非常多,选择起来让人眼花缭乱。对于仿真而言,高效的对几何进行清理及生成符合仿真要求的几何至关重要。ANSYS SpaceClaim Direct Modeler是基于直接建模思想的新一代3D高效率建模和几何编辑修补软件。SCDM提供了当今最快速、最富有创意的直接建模解决方案。由于它的直接建模能力即使对于导入的其它3D模型(如catia、proe、solid works创建的几何)...

weixin_35778830的博客 2416

软件性能指标

提交请求和返回该请求的响应之间使用的时间。响应时间分为接口响应时间和页面响应时间,接口响应时间是指调用接口到接口返回结果的时间,页面响应时间是指用户在页面上发起交互到页面显示出处理结果的时间。软件产品更需要关注的是页面响应时间,接口处理完成数据,在前端显示前解析数据还需要时间。响应时间有个1-3-5标准:在1秒以内,用户完全可以接受;3秒内用户感觉还行;大于5秒用户将焦躁不安。导出性能需求示例:1万条数据,导出完成用时3s3万条数据,导出完成用时5s10万条数据,导出完成用时8s。

qq_43339365的博客 5566

ARM双核锁步DCLS Lockstep技术研究(FPGA实现)

基于《Applying Dual-Core Lockstep in Embedded Processors to Mitigate Radiation-induced Soft Errors》文章总结 RISC-V双核锁步DCLS Lockstep技术参考之前文章: RISC-V双核锁步DCLS Lockstep技术总结_远古架构师alanwu的博客-优快云博客https://blog.youkuaiyun.com/heyuming20062007/article/details/123329537ARM+RIS

heyuming20062007的博客 8727

【系统架构师】软件架构设计——2需求与质量属性

软件架构设计——需求与质量 软件的属性包括功能属性和质量属性,但是,软件架构重点关注的是质量属性。因为,在大量可能的结构中,可以使用不同的结构来实现同样的功能性,即功能性在很大程度上是独立于结构的,架构设计师面临决策(对结构的选择),而功能性所关心的是它如何与其他质量属性进行交互,以及它如何限制其他质量属性。 2 质量 软件质量特性主要包括: 1.功能性(适合性、准确性、互操作性、依从...

漫游学海之旅 3662

Blender SMPL-X 插件安装

Blender XMPL-X 插件安装

heleneveryday的专栏 5358

【python】geopandas库安装出现各种问题?可以看看这篇文章

geopandas的安装方法

jgsecurity的博客 3887

软件测试基础(一)--软件质量模型的六大特性和27个子特性

一、功能性(Functionality): ①适合性(Suitability):解释有没有-提供了相应的功能 ②准确性(accuracy):正确(用户需要的)解释对不对 ③互操作性(Interoperability):产品与产品之间交互数据的能力 ④保密安全性(Security):软件产品保护信息和数据的能力。 如数据库加密,IP,登陆次数限制防Dos 攻击 ⑤功能性的依从性(Functiona...

striver_dl的博客 2797

深入解析璞致PZ-ZU47DR RFSoC核心板:硬件架构与多通道ADC/DAC设计实战

本文深入解析璞致PZ-ZU47DR RFSoC核心板的硬件架构与多通道ADC/DAC设计实战。作为Xilinx Zynq UltraScale+ RFSoC系列的代表产品,PZ-ZU47DR集成了8通道5GSPS ADC和8通道9.85GSPS DAC,支持直接射频采样,大幅简化射频链路设计。文章详细介绍了其技术优势、设计挑战及实战技巧,为5G小基站、毫米波等应用场景提供高效解决方案。

meat5的博客 832

软件需求说明书

软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。1 引言 1.1 编写目的:阐明编写需求说明书的目的,指明读者对象。 1.2 项目背景:应包括   ● 项目的委托单位、开心单位和

Tony's Home 1651

告别点不亮!STM32F103驱动HT1621段码屏的常见坑点与调试心得

本文详细解析了STM32F103驱动HT1621段码屏的五大常见问题及解决方案,包括硬件连接、时序控制、RAM地址映射等关键难点。通过实测数据和代码示例,帮助开发者快速排查显示异常问题,提升驱动开发效率。特别针对HT1621与STM32F103的兼容性问题提供了专业调试建议。

weixin_30925435的博客 378

案例:无人船测量点位数据+ArcGIS 10.6软件生成三维水下地形的两种方法

通常情况下,采用无人船进行水下地形测量,得到的是离散的,具有点号、日期、时间、东坐标(E)、北坐标(N)、水面高程、水下高程和水深等信息的点位数据,该数据一般由航带点位数据加水岸线组成,如下图所示: 原始点位数据格式如下: 下面讲解在ArcGIS软件中生成三维水下地形的两种常用方法。 一、构建不规则三角网(Tin) 1、创建Tin 生成的Tin: 2、Tin转栅格 Tin to Raster: 三维展示: 二、空间插值 栅格插值常用的方法有:克里...

智慧空间实验室 6749

常见的软件系统性能测试指标

针对并发用户我们举例说明。每个请求或者事务对系统资源的消耗,用来衡量请求或者事务对资源的消耗程度,例如对CPU的消耗可以用占用CPU的秒数或者核数来衡量,对内存的消耗可以用内存使用率来衡量,对IO的消耗可以用每秒读写磁盘的字节数来衡量。在真实的用户操作中,用户的每个相邻操作之间都会有一定的间隔时间(在性能测试中,我们称为用户思考时间),所以,并发用户一般有绝对并发和相对并发之分,绝对并发是指某个时间点同时一起向服务器发出请求的并发用户数,相对并发是指一段时间内向服务器发出请求的并发用户总数。

夏天又到了的专栏 2725

pyradiomics使用——1. 医学影像的组学特征值(Radiomics Features)提取

文章目录1. 使用插件1.1 插件安装1.2 插件使用2. 使用python代码2.1 安装2.2 使用2.2.1 官方示例2.2.2 快速使用2.2.3 其它使用3. 组学特征字段意义说明 Github地址:https://github.com/AIM-Harvard/pyradiomics 官方文档地址:https://pyradiomics.readthedocs.io/en/latest/features.html 1. 使用插件 从pyradiomics的Github仓库中可以知道,pyradio

啷个哩个啷 7369

软件系统性能的常见指标

软件系统性能的常见指标 (2009-05-04 12:06) 分类: LR 衡量一个软件系统性能的常见指标有: 1.响应时间(Response time)         响应时间就是用户感受软件系统为其服务所耗费的时间,对于网站系统来说,响应时间就是从点击了一个页面计时开始,到这个页面完全在浏览器里展现计时结束的这一段时间间隔,看起来很简单,但其实在这段响应时间内,软

jfkidear的专栏 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

QT软件系统的优化

优化QT软件系统需要从性能、内存、UI响应、代码结构等多个方面入手。通过合理使用多线程、异步处理、硬件加速等技术,可以显著提升应用的性能和用户体验。同时,结合性能分析工具和调试手段,能够快速定位和解决瓶颈问题。

dt_dev的博客 868

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

软件系统的性能指标

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

tsxiong123的博客 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

WebGL软件系统的性能优化方法

以下是WebGL软件系统的性能优化方法。

dt_dev的博客 676

软件系统性能测试报告:优化性能的利器

软件系统性能测试报告:优化性能的利器 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在软件开发和运维过程中,性能测试是确保系统稳定性和高效性的关键环节。为了帮助开发人员、测试工程师和系统架构师更好地理解和优化软件系统的性能,我们推出了“软件系统性能测试报告”这一开源项目。该项目提供了一份详尽的性能测试报告,涵盖了压力测试过程、监控数据以及数据分析结论,旨在为相关人员提...

gitblog_06678的博客 845

软件系统产品设计方案

根据系统的特点和用户的需求,确定合理的响应时间要求,例如要求用户在1秒内获得系统的响应。在功能设计的过程中,应该注重合理的模块划分和良好的接口设计,以及适当的测试和调试。根据用户的并发访问数量和系统的处理能力,确定系统需要具备的并发处理能力。需求分析的目标是为软件开发团队提供一个明确的方向,确保开发的软件能够满足用户的需求。可以根据系统的定位和用户群体的特点选择合适的主题色,并与其他颜色进行搭配,以便突出重点和区分不同的功能。通过良好的数据库设计,可以确保数据的完整性和一致性,提高系统的性能和可维护性。

qq_31532979的贺公子之数据科学与艺术博客,致力于科技向善,拥抱开源,要用技术的影响力来领导团队,而不是威权和职位! 6633

软件系统架构黄金法则5:高性能法则

软件系统架构 Yellow Gold Rules 5: High Performance Rule 作者:禅与计算机程序设计艺术 背景介绍 (Background Introducti

AI架构师小马 1194

音乐NFT软件系统的上线流程

音乐NFT软件系统的上线流程涉及多个阶段,从需求分析到最终部署和推广,每个阶段都至关重要。以下是详细的上线流程。

dt_dev的博客 721
上一篇: 微软Windows帝国幕后的10大关键人物
下一篇: 技术人员成长
junecau
博客等级 码龄19年 125粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值