日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

关于tomcat8在windows2008下高并发下问题的解决方案

發布時間:2025/7/14 windows 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于tomcat8在windows2008下高并发下问题的解决方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為客戶服務器特殊的環境問題,只能使用windows2008r2服務器,然而配置過后,網站的高訪問量很快就出現了各種問題,以下是解決的問題匯總。

服務器環境:windows2008R2+jdk8.0+tomcat8.0.21+sqlserver2008r2(以上軟件環境均是64位)

1、首先建議安裝jdk8.0(64位)以能獲取較高的JVM內存設置,不然網站訪問并發過高,內存很快就會出現不足,也就是常說的java heap space不足了。下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

記得一定要選擇:jdk-8u45-windows-x64.exejdk-8u45-windows-x64.exejdk-8u45-windows-x64.exe

2、安裝64位的tomcat8.0,目前最新版本是apache-tomcat-8.0.21,下載地址:http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.0.21/bin/apache-tomcat-8.0.21-windows-x64.zip

3、修改連接器協議,默認是HTTP/1.1,該默認設置不能支持過高的并發量,不然會出現io錯誤。方法是修改conf/server.xml將<Connector port="8080" protocol="HTTP/1.1"修改為<Connectorport="8080"protocol="org.apache.coyote.http11.Http11NioProtocol"

4、優化jar包,如果一個jar文件出現在多個WEB應用中的話,可以將該jar文件統一放到一個目錄下,以 避免被tomcat 多次加載,耗用內存占用。方法是:

修改:/conf/catalina.properties文件

將:

common.loader="${catalina.base}/lib","${catalina.base}/lib/*.jar","${catalina.home}/lib","${catalina.home}/lib/*.jar"后面增加:"${catalina.home}/share/lib/*.jar"

然后將共用的jar文件放到tomcat下share目錄里的lib文件夾里即可。

5、tomcat8默認會緩存圖片資源,當并發過高時,會提示warn信息:?WARNING [http-nio-80-exec-43] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at.....,這個本身沒有什么問題,只是不斷在日志中寫入信息,日志文件不斷增加,感覺不好,干脆設置不緩存,方法是:

修改META-INF下的context.xml文件,在Context中增加一行:<Resources cachingAllowed="false"></Resources>

6、設置jvm較大內存,編輯bin/catalina.bat,找到以下代碼段:rem Guess CATALINA_HOME if not defined,在其上面增加代碼:

set JAVA_OPTS=-Xms512m -Xmx4096m -XX:PermSize=128M -XX:MaxPermSize=256m

這里設置的Xmx為4G內存,如果安裝的不是64位的JDK,那么在設置最大內存的時候,就會提示不支持(好像最多能設置到1G多點,要知道服務器內存是64G啊,!!!)。所以第一步為什么安裝64位的操作系統了。

7、設置tomcat最大并發數,方法:修改conf/server.xml,在Connector下增加以下代碼:maxThreads="1000" minSpareThreads="100" maxSpareThreads="300" ?acceptCount="100"?

以下是我的配置:

[html]?view plaincopy
  • <Connector?port="80"?protocol="org.apache.coyote.http11.Http11NioProtocol"??
  • ???????????????connectionTimeout="20000"?maxThreads="1000"?minSpareThreads="100"?maxSpareThreads="300"??acceptCount="100"???
  • ???????????????redirectPort="8443"?URIEncoding="GBK"??useBodyEncodingForURI="true"??/>??
  • ?

    因為大多數時候JSP程序都是部署在linux下,沒有想到windows下會有這么多問題,以上是經過測試后的時候,網站在高訪問量下沒有再出問題。另外經過測試在windows服務器下,使用apache+tomcat集成的方法也不好。對于并發的連接數支持還不如純tomcat。

    轉載于:https://www.cnblogs.com/zfswff/p/4775680.html

    總結

    以上是生活随笔為你收集整理的关于tomcat8在windows2008下高并发下问题的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。