`
shilimin
  • 浏览: 13602 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

tomcat Standard IO中acceptCount究竟是神马?

阅读更多

tomcat最根本就是一个Socket Server,于是我找到了org.apache.tomcat.util.net.DefaultServerSocketFactory#createSocket(int port, int backlog),最终就是这个方法执行new java.net.ServerSocket(port, backlog)启动了一个ServerSocket实例。

查看ServerSocket API就发现@param backlog  the maximum length of the queue.

 

明确了,tomcat的acceptCount就是ServerSocket的等待队列。

 

但设置的acceptCount怎么设置到backlog上呢,我翻了好一会儿代码才注意到org.apache.catalina.connector.Connector中有一个变态的HashMap通过这个HashMap把参数名做了一次转换,再赋值给Http11Protocol使用。这样的变态我想应该是想方便tomcat的使用者吧,毕竟整一个backlog参数谁知道是干什么的,另外这个HashMap也把其它参数名做了转换,代码如下

	protected static HashMap replacements = new HashMap();
	static {
		replacements.put("acceptCount", "backlog");
		replacements.put("connectionLinger", "soLinger");
		replacements.put("connectionTimeout", "soTimeout");
		replacements.put("connectionUploadTimeout", "timeout");
		replacements.put("clientAuth", "clientauth");
		replacements.put("keystoreFile", "keystore");
		replacements.put("randomFile", "randomfile");
		replacements.put("rootFile", "rootfile");
		replacements.put("keystorePass", "keypass");
		replacements.put("keystoreType", "keytype");
		replacements.put("sslProtocol", "protocol");
		replacements.put("sslProtocols", "protocols");
	}

	// ------------------------------------------------------------- Properties

	/**
	 * Return a configured property.
	 */
	public Object getProperty(String name) {
		String repl = name;
		if (replacements.get(name) != null) {
			repl = (String) replacements.get(name);
		}
		return IntrospectionUtils.getProperty(protocolHandler, repl);
	}

	/**
	 * Set a configured property.
	 */
	public boolean setProperty(String name, String value) {
		String repl = name;
		if (replacements.get(name) != null) {
			repl = (String) replacements.get(name);
		}
		return IntrospectionUtils.setProperty(protocolHandler, repl, value);
	}
 

总结:acceptCount参数其实就是new java.net.ServerSocket(port, backlog)的第二个参数,了解后再设置就不会盲目了。

myblog

4
9
分享到:
评论

相关推荐

    tomcat 最大并发连接数 acceptCount

    tomcat 最大并发数 并发量 tomcat 最大并发连接数 acceptCount不能说只要大于acceptCount的连接就一定被拒绝!

    Tomcat maxConnections、maxThreads、acceptCount 图解

    图解 Tomcat maxConnections、maxThreads、acceptCount

    tomcat中的几点配置说明

    在tomcat配置文件server.xml中的配置中,和连接数相关的参数有: minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10 maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75 ...

    tomcat环境变量配置

    2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c: \Tomcat): CATALINA_HOME: C: \Tomcat CATALINA_BASE: C: \Tomcat TOMCAT_HOME: C:\Tomcat 然后修改环境...

    Tomcat面试专题及答案.pdf

    tomcat 有哪几种 Connector 运行模式(优化)? bio:传统的 Java I/O 操作,同步且阻塞 IO。 maxThreads=”150”//Tomcat 使用线程来处理接收的每个请求。这个值表示 Tomcat 可创建的最大的线程数。默认值 200。可以...

    Tomcat6_优化_方案

    maxThreads="1000" 最大线程数,因为每个请求Tomcat都会使用一个线程来处理,所以代表最大同时请求数 8. 可以粗略认为,同一时间点(如1毫秒内)最大同时并发数 = acceptCount + maxThreads, 9. 但实际上每秒处理的...

    jsp全攻略,tomcat技术

    acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理 connectionTimeout 指定超时的时间数(以毫秒为单位) Engine (表示指定service中的请求...

    FCKeditor编辑器Java版

    在tomcat的server.xml中加入URIEncoding="UTF-8",加入后如下 maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" ...

    郑州大学软件学院JSP期末考试试题

    enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> 5.把port="8080"改成port="8888",并且保存 6.启动Tomcat,并且在IE浏览器里面的地址栏...

    fckeditor(jsp版)

    使用Tomcat应用服务器时,为了更好的支持URL地址中的中文参数问题.需要在tomcat进行如下设置: 需要修改server.xml文件的如下行: maxThreads="150" minSpareThreads="25" maxSpareThreads="75" ...

    birt.rar_True_birt

    修改Tomcat端口号步骤: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 4.在server.xml文件里面找到下列信息 <Connector port="8080" maxThreads="150" ...

    tomcate中配置https

    命令提示符窗口,进入Tomcat目录,执行以下命令: keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600 通过以上步骤生成server....

    搭建二级CA安全认证框架

    web服务器用Linux,配搭tomcat,keytool,openssl 实现完整认证框架,就是有点不方便,基于微软的架构要手动导出证书。完全用openssl来做,只做一级CA会更方便,这里只介绍用微软框架实现。 tomcat的双向认证配置: ...

    google风格的自动完成

    打开tomcat的server.xml文件,找到区块,加入如下一行: URIEncoding=”GBK” 完整的应如下: port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443...

    仿yeeyoo网运行说明文档

    4.将%yeeyoo%/data下的数据库备份文件附加到数据库中,中里一个 SQL脚本,提供参考,因为有些测试数据没加到脚本中 5.配置tomcat服务器的server.xml的一个编码数据:(路径是在:%tomcat%/conf/server.xml)其中一段: -...

    fckedit编辑器

    3 把tomcat安装目录下/server/lib中的catalina-ant.jar拷贝到/WEB-INF/lib目录 下 4 打开build.xml 找到 修改成你自己的tomcat安装目录 <property value="/home/uniquejava/tool/tomcat5028/"/> 找到 修改...

    jsp下显示中文文件名及绝对路径下的图片解决方法

    (1)jsp显示中文文件名的图片 方法一、将Tomcat中的server.xml文件中改为: 代码如下: ”8080″ maxHttpHeaderSize=”8192″ maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″ enableLookups=”...

    cognos report 优化

    2 APPLICATION SERVER(ReportNet自带tomcat)配置文件修改 2.1 maxProcessors 2.2 AcceptCount 2.3 ConnectionTimeout 2.4 session-timeout 3 Cognos ReportNet配置文件修改 3.1 warpproperties.xml 3.1.1 ...

    cas 配置client 1.0 &2.0 及proxy DEMO 说明

    acceptCount="100" maxThreads="200" scheme="https" secure="true" SSLEnabled="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/cacerts" keystorePass="changeit" truststoreFile="conf...

    server.keystore

    ${jboss.bind.address}" maxThreads="250" maxHttpHeaderSize=... enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> server.keystore

Global site tag (gtag.js) - Google Analytics