2016 - 2024

感恩一路有你

tomcat 参数中文 tomcat7默认参数?

浏览量:2876 时间:2023-04-27 21:35:33 作者:采采

tomcat7默认参数?

套接字参数选项:

_NODELAY:表示立即发送数据。

_RESUSEADDR:表示套接字绑定的本地地址允许重用。

_TIMEOUT:表示接受数据时的超时。

_LINGER:表示执行clos:执行这个方法,然后执行Socket的close方法,这个方法也会立即返回,但是底层Sock:执行Socket的close方法,不会立即返回,而是进入阻塞状态。同时,底层套接字也会尝试发送剩余的数据,close方法只有在满足以下两个条件之一时才会返回:

(1):底部套接字已经发送了所有剩余的数据。

(2):虽然底层套接字还没有发送完所有剩余的数据,但是已经被阻塞了3600秒。如果close()方法的阻塞时间超过3600秒,它将返回,剩余的未发送数据将被丢弃。

_tw_reuse 1表示打开重用。允许等待时间套接字重新用于新的TCP连接。默认值为0,这意味着它是关闭的。

_tw_recycle 1表示打开TCP连接中时间等待套接字的快速恢复,默认值为0,表示关闭。

_SNFBUF:表示发送数据的缓冲区大小。

_RCVBUF:表示接收数据的缓冲区大小。

_KEEPALIVE:表示一个长时间空闲的SOCEKT是否会自动关闭。

8.指示是否支持发送一个字节的TCP紧急数据。

默认参数

注意:连接器通常位于HOME_TOMCAT/conf/servser.xml文件中。

#正常参数

连接器端口8080协议HTTP/1.1

连接超时20000

重定向端口8443 /

配置参数调试

#优化参数

连接器端口8080

协议HTTP/1.1

maxThreads1000

minSpareThreads100

接受计数1000

麦斯科连接1000

连接超时20000

maxHttpHeaderSize8192

tcpnodelayttrue

压缩

压缩最小化2048

disableUploadTimeouttrue

重定向端口8443

enableLookupsfalse

URIEncodingUTF-8 /

参数的详细说明

1)端口

注意:代表Tomcat端口号,默认为8080。

2)协议

注意:有四种可选协议类型,BIO(阻塞IO)、NIO、NIO2和APR。

#生物

BIO(阻塞I/O)阻塞I/O操作,传统Java I/O操作(即包及其子包)。默认情况下,Tomcat以bio模式运行,这是三种模式中性能最低的。默认情况下可以使用BIO配置。

BIO更适合处理简单的流程,如果程序处理得快,结果可以马上返回。BIO可以用于简单的项目和应用程序。

# NIO

NIO(New I/O)是Java SE 1.4及后续版本提供的一种新的I/O操作模式(即包及其子包)。Java nio是基于缓冲区和非阻塞I/O操作的Java API,比传统I/O操作(bio)具有更好的并发性能。

NIO更适合需要耗时完成请求的后台操作。如果一个程序收到一个请求,它需要耗时的处理,所以它可以 t立即返回结果,所以如果采用BIO,会占用一个连接,使用NIO后,可以转移到其他请求,直到程序处理后返回。

#四月

apr(Apache portable runtime/Apache portable runtime)是Apach:Tomcat会以JNI的形式调用Apache HTTP server的核心动态链接库来处理文件读取或者网络传输,从而大大提高Tomcat 处理静态文件的性能。

APR可以大大提高Tomcat对于静态文件的处理性能,同时如果使用HTTPS进行传输,也可以提高SSL的处理性能。

#修改方法

//生物

协议HTTP/1.1

//NIO

草案

//NIO2

草案

//APR

草案

3)maxThreads(线程池的大小默认为200)

注意:连接器创建处理请求的最大线程数和最大同事数 请求。默认值为200。

如果一个执行器与这个连接器相关联,这个属性将被忽略,因为它将被忽略,所以连接器将使用执行器而不是内部线程池来执行任务。maxThreads是一个重要的配置属性,MaxThreads的合理配置直接影响到Tomcat的相关性能。MaxThreads不是越大越好。其实就算你配置成999999也没用,因为这个最大值是受操作系统和相关硬件限制的,最大值不一定是最优值,所以要追求最优值而不是最大值。

QPS(每秒查询数):每秒查询率QPS是特定查询服务器在指定时间内处理的流量的度量。我们经常用QPS值来衡量服务器的性能。

QPS并发/平均响应时间

并发QPS数*平均响应时间

系统的吞吐量通常由两个因素决定,QPS和并发性。每个系统的这两个值都有一个相对的极限。在应用场景接入的压力下,只要有一项达到系统的最高值,系统的吞吐量就上不去。如果压力继续增加,系统的吞吐量就会下降,因为系统已经超负荷了,其他的如上下文切换、内存等消耗都会导致系统性能的下降。所谓吞吐量,在这里可以理解为每秒钟可以处理的请求数。

所以选择一个合理的maxThreads值并不那么容易。因为线程太多只会造成更多的内存开销和更多的CPU开销,而对提高QPS没有任何帮助;找到最佳线程数后,通过简单的设置,web系统可以更加稳定,获得最高最稳定的QPS输出。

#获得最佳maxThreads的最佳值

(1)通过在线系统的持续使用和用户的持续增长,可以测试性能,观察QPS和响应时间。这样系统爆发式增长的时候就会崩溃,比如双12。

(2)根据公式得出的最佳线程数((线程等待时间,线程cpu时间)/线程cpu时间)*服务器端cpu数有时会产生误导,因为有些系统处理环节可能需要较长时间,从而影响公式的结果。

(3)单用户和多用户压力测试,检查CPU消耗,然后直接乘以百分比,再进行压力测试。通常,线程的最佳数量应该接近这个值。这种更适合理想场景,实际情况会比这复杂很多。

(4)根据系统进行调整;;自身情况,如硬件限制、系统限制、程序处理能力限制等。

(5)定期将其修改为不同的maxThreads值,以查看服务器响应结果和用户响应。

# QPS和线程数领带

(1)在最佳线程数之前,QPS和线程数是互相递增的。最佳线程数后,QPS持平,不上升,甚至略有下降,而对应的时间保持上升。

(2)对于同一个系统,支持的线程越多(优化的线程越多,而不是配置的线程越多),QPS越高。

# QPS和响应时间

(1)对于一般的web系统,响应时间一般由CPU执行时间和IO等待时间组成。

(2)2)CPU执行时间的减少对QPS有实质性的提升,而IO时间的减少对QPS没有明显的提升。如果想要显著提高QPS,那么在优化系统的时候,应该把重点放在优化CPU消耗上。

4)最小线程

注意:运行的最小线程数,这些总是保持运行。如果未指定,默认值为10。

5)acceptCount(默认为100,队列的大小,backlog:半队列)。

注意:最大队列长度。一般和maxThreads一样,默认值是100。

当所有可能的请求处理线程都在使用中时,传入连接请求的最大队列长度。如果未指定,默认值为100。一般设置为与maxThreads相同或一半。如果该值设置得太高,排队的请求将会超时而得不到处理。所以这个值要主要根据应用的访问峰值和平均值来权衡配置。

6)max connections(nio和NIO2的默认值是10000,以及accept的套接字的大小)

注意:服务器在任何给定时间接受和处理的最大连接数。当达到这个数目时,服务器将接受但不处理它,等待进一步的连接。NIO和NIO2的默认值是10000,APR的默认值是8192。

7)连接超时(设置为(连接超时))

注意:当请求已被接受但未被处理时,就是等待超时。单位是毫秒,默认值是60000。通常设置为30000。

8)maxHttpHeaderSize

注意:请求和响应的HTTP头的最大大小是以字节为单位指定的。如果未指定,此属性将设置为8192(8 KB)。

9)tcpNoDelay

注意:如果为true,服务器套接字将设置TCP_NO_DELAY选项,这在大多数情况下可以提高性能。默认情况下,它设置为true。

10)压缩

注意:默认情况下,是否启用gzip压缩是关闭的。这个参数的可接受值是 "关闭 "(不使用压缩), "on "(压缩文本数据), "力与力(在所有情况下。强制压缩)。

11)压缩尺寸

注意:如果compr

如何在linux下监控tomcat?

你好,在linux下查看tomcat进程的命令是:ps aux | grep tomcat名称:ps使用权限:所有用户使用[选项] [-help]描述:显示瞬时进程的动态参数:PS的参数很多。这里只列出了几个常用的参数,并简要介绍了它们的含义-A列出了所有的过程-w通过加宽显示了更多的信息-au显示了更详细的信息-aux显示了所有的行进管线符号 "| "包含其他用户,可以将一个命令的标准输出管道更改为另一个命令的标准输入管道。grep命令是一个强大的文本搜索工具,它可以使用正则表达式来搜索文本并打印出匹配的行。

性能 线程 时间 系统

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。