关于系统用户数,并发用户数,在线用户数,吞吐量(摘)

简介: 关于系统用户数,并发用户数,在线用户数,吞吐量(摘)

 关于系统用户数,并发用户数,在线用户数,吞吐量()


 

1、 关于系统用户数,并发用户数和在线用户数

系统用户数

侠义上来说,可以理解为系统注册用户数;广义上来说,可以理解为所有访问过系统的用户数

 

在线用户数

侠义上来说,可以理解为已登录系统的用户数;广义来说,可以理解为当前时间访问系统的用户数。

 

并发用户数

可以分两种:

1)同一时间点,执行同一(业务)操作的用户数

2)同一时间点,执行不同(业务)操作的用户数

 

注意:服务器实际承受的压力并不完全取决于并发用户数,详情见下面的例子。

 

例子(以51测试论坛为例):

作为专业软件测试论坛,会有很多测试者去论坛注册帐号。

假设到现在已有75万在该论坛注册会员,那我们可以说,该论坛拥有75万的系统用户

 

假设在某日早上9点,已有10万会员登陆了论坛,那么我们可以说,该论坛在某日9点时拥有10万的在线用户

 

假设在这10万已登陆会员中,某个时间点,有2万会员正在提交新帖子,有3万会员正在编写帖子(假设编写帖子不会产生服务器请求操作);有1万会员在帖子页面浏览某帖子内容;有1万会员正在发呆,啥也不做;还有3万会员正在点击某个帖子,那么我们可以说,某时间点,有2万个并发用户在提交新帖子,有3万个并发用户在编写帖子,有1万个并发用户浏览帖子内容,有3万个并发用户在点击某个帖子,,系统有9万的并发用户

 

值得注意的是,这9万并发用户中,真正对系统产生压力的只有5万用户,即提交新帖和点击帖子的用户。换句话说,仅对系统发起了请求的并发用户才会对系统施加压力。

 

这也告诉我们,要好好测试一个系统的性能,必须先对用户的(业务)操作进行分析,分离出用户最常使用、最关心的(业务)操作,因为使用这些操作的人多,所以容易产生并发的情况。

 

计算公式:

 (1)

其中,C是平均并发用户数;nlogin session的数量;Llogin session的平均时长。T是考查的时间段长度。

注:login session指用户从登陆系统到退出系统之间的时间段。

 

CmaxC + 3 2

其中,Cmax是并发用户数的峰值;C为公式(1)中的并发用户数。

 

注意:

1.公式的得出是假设用户login session产生符合泊松分布而估算得到的。

2.因为要精确估算平均用户数和login session的长度并不容易,同时用户的业务操作存在一定的时间分布,所以上述公式可能并不是很精确

3.基于第2点的建议:1)基于更细粒度的时间进行考察;2)考虑业务操作时间分布

 

2、吞吐量

性能测试中,可以侠义的理解为单位时间内系统处理的用户请求的数量。一般情况,吞吐量用请求数/秒、页面数/秒来衡量,从业务的角度,吞吐量也可用单位时间内的访问人数、处理的业务数等进行衡量。从网络角度来,也可以单位时间内的处理的数据量等进行衡量。

 

例如,

对于一个Web应用系统来说,从系统的处理能力考虑,可以以页面数/秒作为吞吐量的标准;对一个银行的前台业务来说,可以以其单位时间内处理的业务数作为吞吐量的标准。

 

通常,对于交互式应用,用户直接的体验是“响应时间”,通过“并发用户数”和“响应时间”可以确定系统的性能规划;但对于非交互式应用,用“吞吐量”来描述我们对系统性能的期望可能更加合理。

 

作为性能测试的主要关注指标,吞吐量和并发用户数之间存在一定的联系,在没有遇到性能瓶颈的时候,吞吐量可以采用如下公式计算:

其中,F表示吞吐量,Nvu表示虚拟用户数,R表示每个虚拟用户数发起的请求数,T表示性能测试所用的时间。

 

注意:虽然吞吐量指标可被看作是系统承受压力的体现,但是不同并发用户数量的情况下,对同一个系统施加相同的吞吐量压力,很可能会得到不同的测试结果。

 

目录
相关文章
|
前端开发 JavaScript API
netty系列之:使用netty搭建websocket客户端
netty系列之:使用netty搭建websocket客户端
|
9月前
|
存储 缓存 自然语言处理
SCOPE:面向大语言模型长序列生成的双阶段KV缓存优化框架
KV缓存是大语言模型(LLM)处理长文本的关键性能瓶颈,现有研究多聚焦于预填充阶段优化,忽视了解码阶段的重要性。本文提出SCOPE框架,通过分离预填充与解码阶段的KV缓存策略,实现高效管理。SCOPE保留预填充阶段的关键信息,并在解码阶段引入滑动窗口等策略,确保重要特征的有效选取。实验表明,SCOPE仅用35%原始内存即可达到接近完整缓存的性能水平,显著提升了长文本生成任务的效率和准确性。
471 3
SCOPE:面向大语言模型长序列生成的双阶段KV缓存优化框架
|
11月前
|
自然语言处理 数据可视化 NoSQL
基于知识图谱的水浒传知识问答系统
基于知识图谱的水浒传知识问答系统
160 0
|
Prometheus 监控 Cloud Native
应用监控(Prometheus + Grafana)
应用监控(Prometheus + Grafana)
568 2
|
前端开发 C# 开发工具
在winform中使用blazor hybrid构建页面
在winform中使用blazor hybrid构建页面
313 0
|
运维 算法 测试技术
性能测试概述
性能测试概述
|
存储 安全 JavaScript
XSS攻击是什么?它有哪些类型?
防御XSS攻击的方法包括输入验证和过滤、输出编码、使用CSP(Content Security Policy)、避免直接操作DOM等。开发人员应当谨慎处理用户输入,不信任的输入应该被过滤或编码,以确保不会被当做脚本执行。此外,定期进行安全审计和漏洞扫描也是防御XSS攻击的重要步骤。
345 0
|
数据采集 自然语言处理 数据挖掘
ftfy,一个超强的 Python 编码问题修复库!
ftfy,一个超强的 Python 编码问题修复库!
198 0
|
JavaScript
【Error】Vue.js is detected on this page. Open DevTools and look for the Vue panel.
【Error】Vue.js is detected on this page. Open DevTools and look for the Vue panel.
|
JavaScript 前端开发 索引
JavaScript中数据过滤的几种方法
JavaScript中数据过滤的几种方法
449 0