一、可以使用等命令行不运行的tomcat。
栏里点系统大的支持内存命令:java-xmx1024m-version。
1、直接修改tomcat文件。
二、在用系统中的“服务”,或则开始菜单的可执行程序运行的tomcat。
1、关闭现在正准备运行的tomcat。
三、栏里点超过tomcat的内存大小情况。
1、启动tomcat。
2、访问:8080/manager/status,并键入安装好tomcat时键入的用户与口令,如admin,密码admin(密码是在tomcat安装好时输入的)。
socket参数选项:
1、tcp_nodelay:它表示立即正在发送数据。
2、oh,no_resuseaddr:表示不允许重用socket所绑定的本地地址
3、oh,no_timeout:意思是给予数据时的连接失败时间。
4、yeah_linger:可以表示当执行close();方法时候,是否是表述直接关闭底层的socket。(reset报文)
setsolinger(true,0):负责执行该方法,那你执行socket的return方法,该方法也会立刻回,但底层的socket也会立玄关掉,所有未发送中完的余下数据被丢弃
setsolinger(true,3600):这样的话负责执行socket的return方法,该方法不可能立刻前往,而进入阻塞住状态,同样的,底层的socket也会一段时间发送中残余的数据,仅有柯西-黎曼方程下面的两个条件之一,closed方法才会前往:
(1):底层的socket巳经发送中完所有的余下数据
(2):哪怕底层的socket还没有发送完所有的残余数据,但巳经会堵塞了3600秒,locked()方法的阻塞住时间最多3600秒,也会赶往,剩下的未发送中的数据被丢弃。
_tw_reuse1来表示开启予以重任。不允许将time-waitsockets然后再主要用于新的tcp连接到,默认为0,意思是关闭;
_tw_recycle1可以表示启动tcp连接上中time-waitsockets的迅速回收,默认为0,它表示关掉。
5、but_snfbuf:意思是你的邮箱数据的缓冲大小
6、okay_rcvbuf:可以表示得到数据的缓冲区的大小
7、okay_keepalive:来表示长时间在空来状态的socekt,是否自动启动把他/她关了
8、oobinline:它表示如何确定接受邮箱里一个字节的tcp及时数据
默认参数
注:connector大多数在home_tomcat/conf/servser.xml文件内
#都正常参数
connectorport8080protocolhttp/1.1
connectiontimeout20000
redirectport8443/
配置参数调试
#优化软件参数
connectorport8080protocolhttp/1.1maxthreads1000minsparethreads100acceptcount1000maxconnections1000connectiontimeout20000maxhttpheadersize8192 cpnodelaytruecompressiononcompressionminsize2048disableuploadtimeouttrueedirectport8443enablelookupsfalse%uriencodingutf-8/
参数求高人
1)port
注:贞洁戒tomcat端口号,设置成8080。
2)protocol
注:协议类型,可选类型有4种,bio(造成堵塞型io),nio,nio2和apr。
#biobio(blockingi/o)阻塞式i/o能操作,现代的javai/o能操作(即包及子包)。tomcat在默认情况下,是以bio模式运行的,bio模式是三种运行模式中性能最低的一种。bio配置常规设置为再试一下。
bio更适合我如何处理简单啊流程,如程序一次性处理较快可以马上前往结果。简单的项目及应用可以不按结构bio。
#nioio(newi/o)是javase1.4及后续版本能提供的一种新的i/o操作(即包及子包)。javanio是一个基于组件缓冲区、非阻塞i/o能操作的javaapi它强大比现代i/o操作(bio)更好的并发运行性能。
nio更比较适合后台要耗时能完成跪请的操作,如程序收到消息了请求后必须都很工程巨大的处理这已请求,所以我根本无法立马前往结果,这样的话如果区分bio可能会占用带宽一个连接,而不使用nio后就这个可以将此连接到有偿转让给其他请求,直至程序去处理能完成赶往为止。
#aprapr(apacheportableruntime/apache可移植运行时),是apachehttp服务器的支持库。你也可以简单地表述为:tomcat将以jni的形式动态创建apachehttp服务器的核心动态链接库来处理文件读取或数据的传输你的操作,使大吓地增加tomcat对静态文件的处理性能。
apr可以极大提升到tomcat对静态文件的处理性能,另外如果你在用了https传输的话,也是可以实力提升ssl的处理性能。
#修改
//bio
protocolhttp/1.1
//nio
protocol
//nio2
protocol
//apr
protocol
3)maxthreads(线程池的大小设置200)
注:连接器创建角色一次性处理跪请线程的大的数目,去处理同事各位的最大数目,默认值为200。
如果不是一个执行器与此连接器关联,则遗漏掉此属性,只不过该属性将被看出,所以该连接器将使用执行器而不是一个内部线程池来执行任务。maxthreads是个最重要的配置属性,maxthreads配置的合理不真接影响了tomcat的相关性能。maxthreads并不是配置的越大越好,很显然你就算是配置成999999也也没专用,是因为这个的最值是受操作系统及查找硬件所严重的限制的,并且的最值却不是当然是最优值,所以才我们苦苦追寻的肯定是最优值而不是什么大的值。
qps(querypersecond):每秒去查询率qps是对一个某个特定的查询服务器在相关规定时间内所一次性处理流量多少的衡量标准。我们动不动爱建议使用qps值来衡量能力一个服务器的性能。
qps并发数/平均响应时间
并发数qps*平均响应时间
一个系统吞吐量通常由qps、并发数两个因素决定,20套系统的这两个值应该有一个要比极限值,在应用场景访问压力下,如果能某一项达到电脑系统最高值,系统的吞吐量就上不去了,如果没有压力不再速度变大,系统的吞吐量倒是会降到,原因是系统超负荷工作,上下文切换、内存等等其它消耗掉会造成系统性能会下降。正所谓吞吐量这里可以不明白为速度10能去处理只是请求的次数。
因此选择类型一个合理不的maxthreads值,不过并不是那就容易的事。只不过过多的线程只会倒致,更多的内存开销,更多的cpu开销,可是对提升到qps确半点指导;找到适宜线程数后通过简单的设置,是可以让web系统更加稳定,能得到最高,最比较稳定的qps输出。
#资源最适合maxthreads的适宜值
(1)是从线上系统断的在用和用户的不时增长来并且性能测试,仔细qps,响应时间,这种会在爆发式增长时系统瘫痪,如双12等。
(2)根据公式计算,服务器端最佳的位置线程数量((线程再等待时间线程cpu时间)/线程cpu时间)*cpu数量,这种有时侯会被误导,是因为某些系统去处理环节可能会会耗时都很长,从而会影响公式的结果。
(3)单、多用户压力测试,查看cpu的消耗,然后把直接乘以2百分比,再并且压测,好象这个值的附近估计那就是最佳的方法线程数量,这种理想场景比较区分,求实际情况会比这个紧张的多。
(4)参照系统的自身情况按照,如硬件限制,系统限制,程序处理能力限制等。
(5)定时查看直接修改为完全不同的maxthreads值,看服务器响应结果及用户反应。
#qps和线程数的关系
(1)在最佳的方法线程数量之前,qps和线程是各自递减的关系,线程数量到了适宜线程之后,qps相若,不在猛升,甚至连颇有下降,同样或则时间缓慢上升。
(2)同一个系统而言,允许的线程数到最后(最适合线程数到最后而不是配置的线程数少嘛),qps越高。
#qps和响应时间的关系
(1)对此就像的web系统,更快的响应时间像是有cpu想执行时间io静静的等待时间混编。
(2)cpu的执行时间会减少,对qps有实质的提升,io时间的减少,对qps进阶不明显。如果不是要想明显提升qps,360优化系统的时候要指出优化cpu消耗大户。
4)minsparethreads
注:线程的最大值运行数目,这些一直达到运行。如果未指定,默认值为10。
5)acceptcount(设置为100,队列,backlog:半队列的大小)
注:大队列长度。一般与maxthreads同一,默认为100。
当所有很有可能的请求处理线程都在不使用时传来连接上帮忙的大队列长度。要是未指定,默认值为100。好象是可以设置的跟maxthreads一样或一半,此值设置的过大会可能导致去排队的请求网络错误而未被处理。所以才这个值应该是主要参照应用方法的访问峰值与平均值来下决定配置。
6)maxconnections(nio与nio2的默认值为10000,accept的socket的大小)
注:在任何计算变量的时间内,服务器将接受和如何处理的大连接到数。当这个数字巳经至少时,服务器将接受但不全面处理,静静的等待初步连接上。nio与nio2的默认值为10000,apr默认值为8192。
7)connectiontimeout(设置到(connectiontimeout))
注:当各位早被认可,但未被处理,也就是静静的等待中的已超时时间。单位为1毫秒,默认值为60000。通常情况下系统设置为30000。
8)maxhttpheadersize
注:帮忙和响应的http头的大的大小,以字节为单位更改。如果没有还没有指定你,这个属性被设置中为8192(8kb)。
9)tcpnodelay
注:如果为true,服务器socket会系统设置tcp_yes_delay选项,在大多数情况下这个可以能提高性能。缺省情况下设为true。
10)compression
注:如何确定重新设置gzip高压缩,默认为自动关闭状态。这个参数的可得到值为“on”(不使用压缩),“on”(高压缩文本数据),“force”(在所有的情况下强制破军压缩)。
11)compressionminsize
注:要是compressionon,则关闭此项。被高压缩前数据的最小值,也就是达到这个值后才被高压缩。假如还没有委托,这个属性默认为“2048”(2k),单位为byte。
12)disableuploadtimeout
注:这个标志不允许tomcatcontainer在一个servlet先执行的时候,建议使用一个差别的,更长的连接已超时。最终的结果是给servlet更长的时间以备万一结束其先执行,或者在数据上传的时候更长的超时时间。要是没有指定你,设为false。
13)enablelookups
注:关了dns逆方向查询。
14)uriencoding
注:url编码字符集。