【编程开发】之 Tomcat 请求数设置与 QPS

news/2024/11/30 10:36:08/

一、SpringBoot 内置 Tomcat 对请求数的设置


1、maxThreads:最大线程数

每一次HTTP请求到达Web服务,tomcat都会创建一个线程来处理该请求,那么最大线程数决定了Web服务容器可以同时处理多少个请求。

maxThreads 默认 200,建议增加,但增加线程是有成本的,更多的线程,不仅仅会带来更多的线程上下文切换成本,而且意味着带来更多的内存消耗。JVM中默认情况下在创建新线程时会分配大小为 1M 的线程栈,所以,更多的线程异味着需要更多的内存。

线程数的经验值为:

  • 1核CPU + 2g内存,线程数经验值200;
  • 2核CPU + 4g内存,线程数经验值400;
  • 4核CPU + 8g内存,线程数经验值800。

2、accept-count:最大等待数

当所有的请求处理线程都在使用时,所能接收的连接请求的队列的最大长度。当队列已满时,任何的连接请求都将被拒绝。accept-count 的默认值为 100

详细的来说就是,当调用 HTTP 请求数达到 tomcat 的最大线程数时,还有新的 HTTP 请求到来,这时 tomcat 会将该请求放在等待队列中,这个 acceptCount 就是指能够接受的最大等待数,默认100。如果等待队列也被放满了,这个时候再来新的请求就会被tomcat拒绝(connection refused)。

3、maxConnections:最大连接数

这个参数是指在同一时间,tomcat 能够接受的最大连接数。对于 Java 的阻塞式 BIO,默认值是 maxthreads 的值;如果在 BIO 模式使用定制的 Executor 执行器,默认值将是执行器中 maxthreads 的值。对于 Java 新的 NIO 模式,maxConnections 默认值是10000。

对于 windows上APR/native IO 模式,maxConnections 默认值为 8192,这是出于性能原因,如果配置的值不是1024的倍数,maxConnections 的实际值将减少到1024的最大倍数。 如果设置为-1,则禁用maxconnections功能,表示不限制tomcat容器的连接数。 maxConnections和accept-count的关系为:当连接数达到最大值maxConnections后,系统会继续接收连接,但不会超过acceptCount的值。

二、TPS 与 QPS


1、TPS

TPS(Transactions Per Second),意思是每秒事务数。一个事务是指客户端向服务器发送请求然后服务器做出反应的过程,具体的事务定义,可以是一个接口、多个接口、一个业务流程等等。以单接口定义为事务举例,每个事务包括了如下3个过程:

  1. 向服务器发请求;
  2. 服务器自己的内部处理(包含应用服务器、数据库服务器等);
  3. 服务器返回结果给客户。

如果每秒能够完成 N 次以上3个过程,TPS 就是 N。

TPS 是软件测试结果的测量单位。我们在进行服务性能压测时,接口层面最常关注的是最大 TPS 以及接口响应时间,个人理解 TPS 可以指一组逻辑相关的请求,而服务整体处理能力取决于处理能力最低模块的TPS值。

2、QPS

QPS(Queries Per Second),意思是每秒查询数。指一台服务器每秒能够响应的查询次数,用于衡量特定的查询服务器在规定时间内所处理流量多少,主要针对专门用于查询的服务器的性能指标,比如 dns,它不包含复杂的业务逻辑处理,比如数据库中的每秒执行查询 sql 的次数。

QPS 只是一个简单查询的统计显然,不能描述增删改等操作,显然它不够全面,所以不建议用 QPS 来描述系统整体的性能;

QPS 基本类似于 TPS,但是不同的是,对于一个事务访问,会形成一个 T;但一次 T 中,可能产生多次对服务器的请求,服务器对这些请求,就可计入 QPS 之中。

QPS 的计算公式: QPS = req/sec = 请求数/秒

3、TPS 与 QPS 的区别

  • 如果是对一个查询接口压测,且这个接口内部不会再去请求其它接口,那么 TPS = QPS,否则,TPS ≠ QPS
  • 如果是容量场景,假设 N 个接口都是查询接口,且这个接口内部不会再去请求其它接口,QPS = N * TPS

http://www.ppmy.cn/news/827673.html

相关文章

php1.6t发动机机油选择,1.6t用什么机油选择啊!?

1、机油是分为矿物质油、半合成机油和全合成三大类的,这个很多车主都是知道的。全合成机油是这三类中无论是润滑性、降温能力、抗氧化性能、还是清洁度都是最好的,相对流动性也是最好的。矿物质机油的各方面表现就要弱很多了。2、无论是半合成机油还是全…

创意机油桶机器人_10岁男孩变身环保达人,用机油桶造出机器人!

当很多孩子还在玩家长给自己买的玩具时,家住平泉八家卧龙镇的10 岁的小男孩儿辰辰就已经开始用废弃的机油桶制成机器人、用完的一次性筷子制作出飞机模型、雪糕棍儿变成赏心悦目的小摆件。 当地人都称这个小男孩儿“环保小达人”。因为他不仅自己将生活垃圾和旧物变…

拖拉机服务器不稳定,手扶拖拉机机油指示不稳定现象分析

南方拖拉机多以手扶机型为主,所以南方的农民朋友肯定经常会遇到手扶拖拉机发动机上的机油指示器指示不稳定的情况,红色指示帽一下一上的。一旦遇到这种情况,您是否立即采取正确的措施检查排除故障呢?没错,小编今天又有…

汽车机油

对于发动机清洗液的理解:现在市面上有多发动机清洗液,倒进去怠速运行20分钟,在放出来发现是黑的油,我购买使用过一次发现确实黑。所以大家觉这个东西好用,对发动机也有好处。其实我个人思考过这个东西,如果清…

沥青都市7723java_为什么机油会变得像沥青一样?

高品质的发动机润滑油在正常使用过程中,粘度只会有较小的变化。有时,司机师傅发现机油使用一段时间后变得像沥青一样粘稠,这是为什么呢? 在排除使用了劣质机油的可能性之后,发生上述现象的主要原因一般是由于燃烧室内的…

css发动机的机滤,更换机油及机油滤清器的步骤(图)

如何更换机油、机油滤清器呢,下面随汽车维修网小编一起了解一下吧。 机油一般储存在油底壳内,发动机运转带动机油泵,将机油从 (1)更换机油及机油滤清器工作提前准备 油底壳底部的放油螺栓是带有磁性的,能够把沉淀下来的金属碎屑吸…

地图下面的标尺是什么意思_机油标尺怎么看图解,汽车机油标尺正常位置示意图...

行车过程养成良好的检查习惯,可以及时发现问题并解决问题,延长车辆的使用寿命。本文将教会大伙儿如何查看机油标尺。 检查前一定要注意的事项 在检查机油量之前,首先要知道一个检查的前提条件,那就是车辆的位置必须处于水平状态。…

php1.6t发动机机油选择,1.6T排量汽车,机油怎么选?不同排量发动机,选择机油有讲究...

车主朋友去4S店或者修理厂保养爱车的时候,往往都是听维修人员的建议来选择加什么机油,但是为什么加这款,这款是否合适,性价比是否高,对爱车是否有不好影响,这些我们车主通通都不了解,只买贵的&a…