tomcat 参数中文 tomcat7默认参数?
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命令是一个强大的文本搜索工具,它可以使用正则表达式来搜索文本并打印出匹配的行。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。