关注分享主机优惠活动
国内外VPS云服务器

基于线程池的Tomcat高并发连接配置分析

Tomcat使用线程池来配置高并发连接。

1:配置executor属性以打开/conf/server.xml文件,并在连接器之前配置一个线程池:

& ltexecutor name = " tomcatThreadPool " name prefix = " tomcatThreadPool -" max threads = " 1000 " maxIdleTime = " 300000 " minSpareThreads = " 200 "/& gt;重要参数描述:name:共享线程池的名称。这是连接器为了共享线程池而引用的名称。该名称必须唯一。默认值:无;;NamePrefix:在JVM上,每个正在运行的线程都可以有一个名称字符串。该属性为线程池中每个线程的名称字符串设置一个前缀,Tomcat会将线程号附加到这个前缀上。默认值:Tomcat -exec -;MaxThreads:该线程池可以容纳的最大线程数。默认值:200;MaxIdleTime:在Tomcat关闭空闲线程之前,允许该线程持续的时间(以毫秒为单位)。只有当当前活动线程的数量大于minSpareThread的值时,才会关闭空闲线程。默认值:60000(一分钟)。SpareThreads:最小数量的minSpareThreads:Tomcat应该始终打开。默认值:25。

2:配置连接器

1.tomcat内存优化tomcat内存优化主要是优化Tomcat启动参数。我们可以在Tomcat启动脚本catalina.sh中设置JAVA_OPTS参数

1.JAVA_OPTS参数描述-server启用jdk的服务器版本;-Xms java虚拟机初始化时的最小内存;-Xmx java虚拟机的最大可用内存;-XX:PermSize内存永久保留区-XX:MaxPermSize内存最大永久保留区目前公司的服务器内存一般可以提升到最大2G,所以可以采用以下配置:

在cygwin=false之前添加

Java _ opts = ' -xms 1024m -xmx 2048m -xx:permsize = 256 M-xx:max new size = 256 M-xx:maxperm size = 256m '配置完成后,可以重新启动Tomcat,通过以下命令检查配置是否生效:

首先检查Tomcat进程号:

lsof -I:8088结果

[root @ izwz 9 ajtb 45 u 2 jzfp 4 ljixz ~]# lsof -I:8088 command PID USER FD TYPE DEVICE SIZE/Off name Java 27698 root 46U IP v4 116945134 0 TCP *:radan -http(listen)我们可以看到Tomcat进程号是27698。

检查配置是否生效:

Jmap -heap 27698可以在输出信息中找到。在堆配置中,可以看到MaxHeapSize等参数已经生效。

二。Tomcat并发优化

1.Tomcat配置文件server.xml < Connector中的Tomcat连接相关参数.../& gt;中等配置

1.参数说明:minProcessors:空闲连接线程的最小数量,用于提高系统的处理性能。默认值为10maxProcessors:最大连接线程数,即并发处理的最大请求数。默认值为75acceptCount:允许的最大连接数,应该大于等于maxProcessors,默认值为100enableLookups:是否反向查找域名。值为真或假。为了提高处理能力,应该将其设置为falseconnectionTimeout:网络连接超时,单位为毫秒。将其设置为0意味着它永远不会超时。这样的设置有隐患。通常可以设置为30000毫秒。与最大连接数相关的参数是maxProcessors和acceptCount。如果希望增加并发连接数,应该同时增加这两个参数。web服务器允许的最大连接数也受操作系统内核参数设置的限制,通常Windows为2000左右,Linux为1000左右。

2.2中的配置示例。Tomcat

2.调整连接器连接器的并发处理能力。1.参数说明:maxThreads:客户请求的最大线程数;minsparethreads:Tomcat初始化期间创建的套接字线程数;max spare threads:Tomcat连接器的最大空闲套接字线程数;enableLookups:如果设置为true,则支持域名解析,可以将ip地址解析为主机名redirectPort:需要安全通道时,将客户端请求转发到基于SSL的redirectPort acceptAccount:监听端口队列的最大数量,当其满时,将拒绝客户请求(不能小于maxsparethreads)。连接超时:连接超时。minProcessors:创建服务器时处理线程的最小数量。maxProcessors:服务器同时处理线程的最大数量。URIEncoding:URL统一编码

2.2中的配置示例。Tomcat < Connector port = " 8088 " protocol = " HTTP/1.1 " maxHttpHeaderSize = " 8192 " max threads = " 1000 " minSpareThreads = " 1000 " min proces ssors = " 1000 " max processors = " 1000 " enable lookups = " false " uri encoding = " ut F-8 " accept count = " 1000 " redire CT port = " 8443 " disableuploadtime out = "。

3.Tomcat缓存优化1。参数描述压缩:开启压缩功能compressionMinSize:启用压缩输出内容大小,默认为2KBcompressableMimeType:压缩类型connectionTimeout:定义建立客户连接的超时时间。如果是-1,说明建立客户连接的时间不限。

2.2中的配置示例。Tomcat < Connector port = " 8088 " protocol = " HTTP/1.1 " maxHttpHeaderSize = " 8192 " maxThreads = " 1000 " minSpareThreads = " 1000 " min proces ssors = " 100 " max processors = " 1000 " enable lookups = " false " compression = " on " compression minsize = " 2048 " com pressable mimetype = " text/html,text/xml,text/javasc

4.参考配置

1.旧配置是指网络上服务器的以下配置。拿出来分享一下:

& lt连接器port = " 8088 " protocol = " HTTP/1.1 " maxHttpHeaderSize = " 8192 " maxThreads = " 1000 " minSpareThreads = " 75 " enable looku PS = " false " compression = " on " compression minsize = " 2048 " compressableMimeType = " text/html,text/xml,text/javascript,text/css,text/plain " connection time out = " 2000 " uri encoding = "。后来发现,当访问量达到300万以上时,就出现了性能瓶颈。

2.更改后的配置< Connector port = " 8088 " protocol = " HTTP/1.1 " maxHttpHeaderSize = " 8192 " maxThreads = " 1000 " minSpareThreads = " 1000 " minprocessors = " 1000 " max processors = " 1000 " enable lookups = " false " compression = " on " compression minsize = " 2048 " com pressableMimeType = " text/html,text/xml,text/jav关于tomcat使用线程池配置高并发连接的这篇文章到此为止。关于Tomcat配置高并发连接的更多信息,请搜索主机频道zhujipindao之前的文章。或者继续浏览下面的相关文章。希望大家支持主机频道zhujipindao。以后多来com!

未经允许不得转载:主机频道 » 基于线程池的Tomcat高并发连接配置分析

评论 抢沙发

评论前必须登录!