最近部署的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高並發。