You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2007/02/15 00:44:28 UTC
svn commit: r507744 - in /tomcat/tc6.0.x/trunk:
java/org/apache/tomcat/util/net/SocketProperties.java
webapps/docs/config/http.xml
Author: fhanik
Date: Wed Feb 14 15:44:27 2007
New Revision: 507744
URL: http://svn.apache.org/viewvc?view=rev&rev=507744
Log:
Added in documentation specific to the NIO connector and a small connector comparison chart
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java
tomcat/tc6.0.x/trunk/webapps/docs/config/http.xml
Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java?view=diff&rev=507744&r1=507743&r2=507744
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java Wed Feb 14 15:44:27 2007
@@ -37,9 +37,9 @@
protected int bufferPoolSize = 1024*1024*100;
/**
- * TCP_NO_DELAY option, default is false
+ * TCP_NO_DELAY option, default is true
*/
- protected boolean tcpNoDelay = false;
+ protected boolean tcpNoDelay = true;
/**
* SO_KEEPALIVE option, default is false
*/
Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/http.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/http.xml?view=diff&rev=507744&r1=507743&r2=507744
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/config/http.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/http.xml Wed Feb 14 15:44:27 2007
@@ -118,9 +118,11 @@
<code>org.apache.coyote.http11.Http11Protocol</code> - same as HTTP/1.1<br/>
<code>org.apache.coyote.http11.Http11NioProtocol</code> - non blocking Java connector<br/>
<code>org.apache.coyote.http11.Http11AprProtocol</code> - the APR connector.<br/>
- The configuration for both Java connectors are identical, both for http and https.
- For more information on the APR connector, please
+ Take a look at our <a href="#Connector Comparison">Connector Comparison</a> chart.
+ The configuration for both Java connectors are identical, both for http and https. <br/>
+ For more information on the APR connector and APR specific SSL settings please
visit the <a href="../apr.html">APR documentation</a>
+
</p>
</attribute>
@@ -383,6 +385,76 @@
</attributes>
</subsection>
+
+ <subsection name="Nio Implementation">
+
+ <p>The NIO connector exposes all the low level socket properties that can be used to tune the connector.
+ Most of these attributes are directly linked to the socket implementation in the JDK so you can find out
+ about the actual meaning in the JDK API documentation.<br/>
+ <strong>Note</strong>On some JDK versions, setTrafficClass causes a problem, a work around for this is to add
+ the -Djava.net.preferIPv4Stack=true value to your command line</p>
+
+ <attributes>
+ <attribute name="socket.directBuffer" required="false">
+ <p>Boolean value, whether to use direct ByteBuffers or java mapped ByteBuffers. Default is <code>true</code></p>
+ </attribute>
+ <attribute name="socket.rxBufSize" required="false">
+ <p>The socket receive buffer (SO_RCVBUF) size in bytes. Default value is 25188</p>
+ </attribute>
+ <attribute name="socket.txBufSize" required="false">
+ <p>The socket send buffer (SO_SNDBUF) size in bytes. Default value is 43800</p>
+ </attribute>
+ <attribute name="socket.bufferPool" required="false">
+ <p>The Nio connector uses a class called NioChannel that holds elements linked to a socket.
+ To reduce garbage collection, the Nio connector caches these channel objects.
+ This value specifies the size of this cache.
+ The default value is 500, and represents that the cache will hold 500 NioChannel objects.
+ Other values are -1. unlimited cache, and 0, no cache.</p>
+ </attribute>
+ <attribute name="socket.bufferPoolSize" required="false">
+ <p>The NioChannel pool can also be size based, not used object based. The size is calculated as follows:<br/>
+ NioChannel buffer size = read buffer size + write buffer size<br/>
+ SecureNioChannel buffer size = application read buffer size + application write buffer size + network read buffer size + network write buffer size<br/>
+ The value is in bytes, the default value is 1024*1024*100 (100MB)
+ </p>
+ </attribute>
+ <attribute name="socket.tcpNoDelay" required="false">
+ <p>same as the standard setting <code>tcpNoDelay</code>. Default value is false</p>
+ </attribute>
+ <attribute name="socket.soKeepAlive" required="false">
+ <p>Boolean value for the socket's keep alive setting (SO_KEEPALIVE). Default is <code>false</code>. </p>
+ </attribute>
+ <attribute name="socket.ooBInline" required="false">
+ <p>Boolean value for the socket OOBINLINE setting. Default value is <code>true</code></p>
+ </attribute>
+ <attribute name="socket.soReuseAddress" required="false">
+ <p>Boolean value for the sockets reuse address option (SO_REUSEADDR). Default value is <code>true</code></p>
+ </attribute>
+ <attribute name="socket.soLingerOn" required="false">
+ <p>Boolean value for the sockets so linger option (SO_LINGER). Default value is <code>true</code>.
+ This option is paired with the soLingerTime value.</p>
+ </attribute>
+ <attribute name="socket.soLingerTime" required="false">
+ <p>Value in seconds for the sockets so linger option (SO_LINGER). Default value is <code>25</code> seconds.
+ This option is paired with the soLinger value.</p>
+ </attribute>
+ <attribute name="socket.soTimeout" required="false">
+ <p>Value in milliseconds for the sockets read timeout (SO_TIMEOUT). Default value is <code>5000</code> milliseconds.</p>
+ </attribute>
+ <attribute name="socket.soTrafficClass" required="false">
+ <p>Value between 0 and 255 for the traffic class on the socket, <code>0x04 | 0x08 | 0x010</code></p>
+ </attribute>
+ <attribute name="socket.performanceConnectionTime" required="false">
+ <p>The first value for the performance settings. Default is 1, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>
+ </attribute>
+ <attribute name="socket.performanceLatency" required="false">
+ <p>The second value for the performance settings. Default is 0, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>
+ </attribute>
+ <attribute name="socket.performanceBandwidth" required="false">
+ <p>The third value for the performance settings. Default is 1, see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int,%20int,%20int)">Socket Performance Options</a></p>
+ </attribute>
+ </attributes>
+ </subsection>
</section>
@@ -434,6 +506,7 @@
</subsection>
+
<subsection name="SSL Support">
<p>You can enable SSL support for a particular instance of this
@@ -514,8 +587,26 @@
<a href="../ssl-howto.html">SSL Configuration HOW-TO</a>.</p>
</subsection>
+ <subsection name="Connector Comparison">
+ <p>Below is a small chart that shows how the connectors differentiate.</p>
+ <source>
+ Java Blocking Connector Java Nio Blocking Connector APR Connector
+ Classname Http11Protocol Http11NioProtocol Http11AprProtocol
+ Tomcat Version 3.x 4.x 5.x 6.x 6.x 5.5.x 6.x
+ Support Polling NO YES YES
+ Polling Size N/A Unlimited - Restricted by mem 1024
+ Read HTTP Request Blocking Non Blocking Blocking
+ Read HTTP Body Blocking Blocking Blocking
+ Write HTTP Response Blocking Blocking Blocking
+ SSL Support Java SSL Java SSL Open SSL
+ SSL Handshake Blocking Non blocking Blocking
+ Max Connections maxThreads See polling size See polling size
+
+
+ </source>
+ </subsection>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r507744 - in /tomcat/tc6.0.x/trunk: java/org/apache/tomcat/util/net/SocketProperties.java
webapps/docs/config/http.xml
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
Remy Maucherat wrote:
> fhanik@apache.org wrote:
>> + Polling Size N/A Unlimited -
>> Restricted by mem 1024
>
> There's no limit to the amount of sockets which may be put in pollers
> in the APR connector either (it can use multiple pollers on platforms
> where it's limited to 1024).
aah, got it, so 1024 per poller is the max?
so the max is unlimited,
I will correct
>
> Rémy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r507744 - in /tomcat/tc6.0.x/trunk: java/org/apache/tomcat/util/net/SocketProperties.java
webapps/docs/config/http.xml
Posted by Filip Hanik - Dev Lists <de...@hanik.com>.
Remy Maucherat wrote:
> fhanik@apache.org wrote:
>> + Polling Size N/A Unlimited -
>> Restricted by mem 1024
>
> There's no limit to the amount of sockets which may be put in pollers
> in the APR connector either (it can use multiple pollers on platforms
> where it's limited to 1024).
ignore my prev response, didn't read the code properly
Filip
>
> Rémy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
Re: svn commit: r507744 - in /tomcat/tc6.0.x/trunk: java/org/apache/tomcat/util/net/SocketProperties.java
webapps/docs/config/http.xml
Posted by Remy Maucherat <re...@apache.org>.
fhanik@apache.org wrote:
> + Polling Size N/A Unlimited - Restricted by mem 1024
There's no limit to the amount of sockets which may be put in pollers in
the APR connector either (it can use multiple pollers on platforms where
it's limited to 1024).
Rémy
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org