1、Tomcat的缺省是多少,怎么修改 Tomcat的缺省端口号是8080. 修改Tomcat端口号: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 4.在server.xml文件里面找到下列信息 maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″ enableLookups=”false” redirectPort=”8443″ acceptCount=”100″ connectionTimeout=”20000″ disableUploadTimeout=”true” /> 5.把port=”8080″改为port=”8888″,而且保存 6.启动Tomcat,而且在IE浏览器里面的地址栏输入http://127.0.0.1:8888/ 七、tomcat默认采用的BIO模型,在几百并发下性能会有很严重的降低。tomcat自带还有NIO的模型,另外也能够调用APR的库来实现操做系统级别控制。 NIO模型是内置的,调用很方便,只须要将上面配置文件中protocol修改为 org.apache.coyote.http11.Http11NioProtocol,重启便可生效。以下面的参数配置,默认的是HTTP/1.1。 <Connector port=”8080″ protocol=”org.apache.coyote.http11.Http11NioProtocol” connectionTimeout=”20000″ redirectPort=”8443″ maxThreads=”500″ minSpareThreads=”20″ acceptCount=”100″ disableUploadTimeout=”true” enableLookups=”false” URIEncoding=”UTF-8″ /> 2、tomcat 如何优化? 一、优化链接配置.这里以tomcat7的参数配置为例,须要修改conf/server.xml文件,修改链接数,关闭客户端dns查询。 参数解释: URIEncoding=”UTF-8″ :使得tomcat能够解析含有中文名的文件的url,真方便,不像apache里还有搞个mod_encoding,还要手工编译 maxSpareThreads : 若是空闲状态的线程数多于设置的数目,则将这些线程停止,减小这个池中的线程总数。 minSpareThreads : 最小备用线程数,tomcat启动时的初始化的线程数。 enableLookups : 这个功效和Apache中的HostnameLookups同样,设为关闭。 connectionTimeout : connectionTimeout为网络链接超时时间毫秒数。 maxThreads : maxThreads Tomcat使用线程来处理接收的每一个请求。这个值表示Tomcat可建立的最大的线程数,即最大并发数。 acceptCount : acceptCount是当线程数达到maxThreads后,后续请求会被放入一个等待队列,这个acceptCount是这个队列的大小,若是这个队列也满了,就直接refuse connection maxProcessors与minProcessors : 在 Java中线程是程序运行时的路径,是在一个程序中与其它控制线程无关的、可以独立运行的代码段。它们共享相同的地址空间。多线程帮助程序员写出CPU最 大利用率的高效程序,使空闲时间保持最低,从而接受更多的请求。 一般Windows是1000个左右,Linux是2000个左右。 useURIValidationHack: 咱们来看一下tomcat中的一段源码: 【security】 if (connector.getUseURIValidationHack()) { String uri = validate(request.getRequestURI()); if (uri == null) { res.setStatus(400); res.setMessage(“Invalid URI”); throw new IOException(“Invalid URI”); } else { req.requestURI().setString(uri); // Redoing the URI decoding req.decodedURI().duplicate(req.requestURI()); req.getURLDecoder().convert(req.decodedURI(), true); 能够看到若是把useURIValidationHack设成”false”,能够减小它对一些url的没必要要的检查从而减省开销。 enableLookups=”false” : 为了消除DNS查询对性能的影响咱们能够关闭DNS查询,方式是修改server.xml文件中的enableLookups参数值。 disableUploadTimeout :相似于Apache中的keeyalive同样 给Tomcat配置gzip压缩(HTTP压缩)功能 compression=”on” compressionMinSize=”2048″ compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain” HTTP 压缩能够大大提升浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML,CSS,Javascript , Text ,它能够节省40%左右的流量。更为重要的是,它能够对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,压缩效率惊人。 1)compression=”on” 打开压缩功能 2)compressionMinSize=”2048″ 启用压缩的输出内容大小,这里面默认为2KB 3)noCompressionUserAgents=”gozilla, traviata” 对于如下的浏览器,不启用压缩 4)compressableMimeType=”text/html,text/xml” 压缩类型 最后不要忘了把8443端口的地方也加上一样的配置,由于若是咱们走https协议的话,咱们将会用到8443端口这个段的配置,对吧? <!–enable tomcat ssl–> <Connector port=”8443″ protocol=”HTTP/1.1″ URIEncoding=”UTF-8″ minSpareThreads=”25″ maxSpareThreads=”75″ enableLookups=”false” disableUploadTimeout=”true” connectionTimeout=”20000″ acceptCount=”300″ maxThreads=”300″ maxProcessors=”1000″ minProcessors=”5″ useURIValidationHack=”false” compression=”on” compressionMinSize=”2048″ compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain” SSLEnabled=”true” scheme=”https” secure=”true” clientAuth=”false” sslProtocol=”TLS” keystoreFile=”d:/tomcat2/conf/shnlap93.jks” keystorePass=”aaaaaa” /> 好了,全部的Tomcat优化的地方都加上了。 二、优化JDK Tomcat默承认以使用的内存为128MB,Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件$CATALINA_HOME/bin/catalina.sh的前面,增长以下设置: JAVA_OPTS=”‘$JAVA_OPTS” -Xms[初始化内存大小] -Xmx[可使用的最大内存] 或 设置环境变量:export JAVA_OPTS=””$JAVA_OPTS” -Xms[初始化内存大小] -Xmx[可使用的最大内存]” 通常说来,你应该使用物理内存的 80% 做为堆大小。若是本机上有Apache服务器,能够先折算Apache须要的内存,而后修改堆大小。建议设置为70%;建议设置[[初始化内存大小]等于[可使用的最大内存],这样能够减小平凡分配堆而下降性能。 本例使用加入环境变量的方式: # vi /etc/profile 加入:export JAVA_OPTS=””$JAVA_OPTS” -Xms700 —Xmx700 # source /etc/profile 【参数说明】 -Xms 是指设定程序启动时占用内存大小。通常来说,大点,程序会启动的 快一点,可是也可能会致使机器暂时间变慢。 -Xmx 是指设定程序运行期间最大可占用的内存大小。若是程序运行须要占 用更多的内存,超出了这个设置值,就会抛出OutOfMemory 异常。 -Xss 是指设定每一个线程的堆栈大小。这个就要依据你的程序,看一个线程 大约须要占用多少内存,可能会有多少线程同时运行等。 -XX:PermSize设置非堆内存初始值,默认是物理内存的1/64 。 -XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。 3、tomcat 有那几种Connector 运行模式? tomcat的运行模式有3种.修改他们的运行模式.3种模式的运行是否成功,能够看他的启动控制台,或者启动日志.或者登陆他们的默认页面http://localhost:8080/查看其中的服务器状态。 1)bio 默认的模式,性能很是低下,没有通过任何优化处理和支持. 2)nio 利用java的异步io护理技术,no blocking IO技术. 想运行在该模式下,直接修改server.xml里的Connector节点,修改protocol为 <Connector port=”80″ protocol=”org.apache.coyote.http11.Http11NioProtocol” connectionTimeout=”20000″ URIEncoding=”UTF-8″ useBodyEncodingForURI=”true” enableLookups=”false” redirectPort=”8443″ /> 启动后,就能够生效。 3)apr 安装起来最困难,可是从操做系统级别来解决异步的IO问题,大幅度的提升性能. 必需要安装apr和native,直接启动就支持apr。下面的修改纯属多余,仅供你们扩充知识,但仍然须要安装apr和native 如nio修改模式,修改protocol为org.apache.coyote.http11.Http11AprProtocol