程序员必知必会 QPS TPS、URI URL、PV UV GMV、CPU密集型与IO密集型

文章详细解释了QPS(每秒查询数)和TPS(每秒处理事务数)的概念,以及它们在系统性能评估中的作用。接着阐述了URI(统一资源标识符)、URL(统一资源定位符)和URN(统一资源名称)的区别。此外,还介绍了网站分析中的重要指标PV(页面浏览量)、UV(独立访问用户数)和GMV(商品交易总额)。最后讨论了CPU密集型与IO密集型任务中线程使用策略的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、QPS和 TPS

QPS:Queries Per Second,意思是“每秒查询数”,是一台服务器每秒能够响应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 即最大吞吐能力。

TPS:TransactionsPerSecond,意思是“每秒处理事务数”,一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

eg:客户端-》访问一个index页面会请求服务器三次:涉及一个html访问,一个css访问,一个js访问,那么就是3个QPS,一个TPS。

TP 值:

  • TP50(50th Percentile):表示系统在 50% 的情况下的响应时间或处理时间。换句话说,50% 的请求在这个时间范围内完成。
  • TP99(99th Percentile):表示系统在 99% 的情况下的响应时间或处理时间。换句话说,99% 的请求在这个时间范围内完成,只有 1% 的请求超过这个时间。
  • TP999(99.9th Percentile):表示系统在 99.9% 的情况下的响应时间或处理时间。换句话说,99.9% 的请求在这个时间范围内完成,只有 0.1% 的请求超过这个时间。

二、URI和URL

首先理解关系:URI包括URL和URN两个子类,所以URL是URI的子集,所以URL一定是URI,而URI不一定是URL;
在这里插入图片描述
其次区分差异:

  • URI (Universal Resource Identifier )是统一资源标示符,可以唯一标识一个资源。eg:http:// or ftp://;
  • URL(Universal Resource Locator)是统一资源定位符,可以提供找到该资源的路径。一个标准的URL必须包括:protocol、host、port、path、parameter、anchor。eg:https://blog.csdn.net/weixin_47061482是个url通过这个网址可以找到我的博客所在地;
  • URN ( Universal Resource Name )是统一资源名称 ,它命名资源但不指定如何定位资源。通过特定命名空间中的唯一名称或ID来标识资源。eg:isbn:0-395-36341-1是RUN,一个国际标准书号,可以唯一确定哪本书。

在Java类库中,URI类不包含任何访问资源的方法,它唯一的作用就是解析。相反的是,URL类可以打开一个到达资源的流。

三、PV、UV、GMV

PVpv的全称是Page View,译为页面浏览量或点击量,通常是衡量一个网站甚至一条网络新闻的指标。用户每次对网站中的一个页面的请求或访问均被记录1个PV,用户对同一页面的多次访问,pv累计。例如,用户访问了4个页面,pv就+4。

UVuv的全称是Unique Visitor,译为独立访问用户数,访问网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。在SEO优化中,UV是一个数据指标,即在给定的时间范国内访问您网站上的一个页面或多个页面的访客数量。视频直播间的UV就是直播间访问人数。

GMVgmv的全称是Gross Merchandise Volume,即商品交易总额 ,是成交总额(一定时间段内)的意思。多用于电商行业,一般包含拍下未支付订单金额。该指标通常称为网站成交金额,属于电商平台企业成交类指标,主要指拍下订单的总金额,包含付款和未付款两部分。gmv常用于电商平台对交易规模的衡量,换算关系“gmv=销售额+取消订单金额+拒收订单金额+退货订单金额”

线程是否越多越好?:

四、CPU密集型与IO密集型

CPU密集型
一个计算为主的程序(专业一点称为CPU密集型程序)。多线程跑的时候,可以充分利用起所有的cpu核心,比如说4个核心的cpu,开4个线程的时候,可以同时跑4个线程的运算任务,此时是最大效率。

但是如果线程远远超出cpu核心数量 反而会使得任务效率下降,因为频繁的切换线程也是要消耗时间的。

因此对于cpu密集型的任务来说,线程数等于cpu数是最好的了

IO密集型
如果是一个磁盘或网络为主的程序(IO密集型)。一个线程处在IO等待的时候,另一个线程还可以在CPU里面跑,有时候CPU闲着没事干,所有的线程都在等着IO,这时候他们就是同时的了,而单线程的话此时还是在一个一个等待的。我们都知道IO的速度比起CPU来是慢到令人发指的。所以开多线程,比方说多线程网络传输,多线程往不同的目录写文件,等等。

此时线程数等于IO任务数是最佳的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只IT攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值