tomcat高並發配置調優


最近部署的tomcat,里面放了一個apk提供給測試人員測試,而有一天壓測的時候,他們一致反饋下載不了,結果查看日志才發現如下錯誤:

[html] view plain copy
INFO: Maximum number of threads (200) created for connector with address null and port 8091  

才驚醒這個tomcat根本知識解壓就使用的,配置都沒動過,肯定不能支持高並發了。所以這里給出一個高並發的配置,當然百度一下也會發現很多類似的配置文章,其他的就不去管吧,反正這歌配置是本人親測,特別是壓力測試下是沒問題的;
[html] view plain copy
<Executor name="tomcatThreadPool"        # 配置TOMCAT共享線程池,NAME為名稱   
          namePrefix="HTTP-8088-exec-"    # 線程的名字前綴,用於標記線程名稱  
          prestartminSpareThreads="true"  # executor啟動時,是否開啟最小的線程數  
          maxThreads="5000"               # 允許的最大線程池里的線程數量,默認是200,大的並發應該設置的高一些,這里設置可以支持到5000並發  
          maxQueueSize="100"              # 任務隊列上限  
          minSpareThreads="50"            # 最小的保持活躍的線程數量,默認是25.這個要根據負載情況自行調整了。太小了就影響反應速度,太大了白白占用資源  
          maxIdleTime="10000"             # 超過最小活躍線程數量的線程,如果空閑時間超過這個設置后,會被關別。默認是1分鍾。  
 />  
[html] view plain copy
<Connector port="8088" protocol="org.apache.coyote.http11.Http11NioProtocol"  
   connectionTimeout="5000" redirectPort="443" proxyPort="443" executor="tomcatThreadPool"  # 采用上面的共享線程池  
   URIEncoding="UTF-8"/>  

這里本人的最大線程數是5000,當然先上壓測的時候並發4000是完全沒壓力的,當時服務器的資源20%都沒用到,所以這一個配置完全足夠實現5000高並發。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM