Tomcat优化之连接器其他参数优化

来源:互联网 发布:nginx 变量 header 编辑:程序博客网 时间:2024/05/29 13:21
<Connector port="8080"   
          protocol="HTTP/1.1"   
          maxThreads="1000"   
          minSpareThreads="100"   
          acceptCount="1000"  
          maxConnections="1000"  
          connectionTimeout="20000"   
          tcpNoDelay="true"  
          compression="on"  
          compressionMinSize="2048"  
          redirectPort="8443"  
 enableLookups="false"  
          />  


tcpNoDelay: socket开启tcpNoDelay,开启这个设置一般性能会提升。
在默认情况下,客户端向服务器发送数据时,会根据数据包的大小决定是否立即发送。
当数据包中的数据很少时,如只有1个字节,而数据包的头却有几十个字节(IP头+TCP头)时,
系统会在发送之前先将较小的包合并到软大的包后,一起将数据发送出去。在发送下一个数据包时,
系统会等待服务器对前一个数据包的响应,当收到服务器的响应后,再发送下一个数据包,
这就是所谓的Nagle算法;在默认情况下,Nagle算法是开启的。    
这种算法虽然可以有效地改善网络传输的效率,但对于网络速度比较慢,
而且对实现性的要求比较高的情况下(如游戏、Telnet等),使用这种方式传输数据 会使得客户端有明显的停顿现象。
因此,最好的解决方案就是需要Nagle算法时就使用它,不需要时就关闭它。而使用setTcpToDelay正好可以满 足这个需求。
当使用setTcpNoDelay(true)将Nagle算法关闭后,客户端每发送一次数据,无论数据包的大小都会将这些数据发送出去。
compression:开启gzip压缩;
compressionMinSize:超过多少字节压缩;
enableLookups:禁用反向dns查询。
当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。
DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。
为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值改为false:enableLookups="false"
原创粉丝点击