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