1. 程式人生 > >Tomcat的效能與最大併發配置

Tomcat的效能與最大併發配置

當一個程序有 500 個執行緒在跑的話,那效能已經是很低很低了。Tomcat 預設配置的最大請求數是 150,也就是說同時支援 150 個併發,當然了,也可以將其改大。

當某個應用擁有 250 個以上併發的時候,應考慮應用伺服器的叢集。

     具體能承載多少併發,需要看硬體的配置,CPU 越多效能越高,分配給 JVM 的記憶體越多效能也就越高,但也會加重 GC 的負擔。
     作業系統對於程序中的執行緒數有一定的限制:
      Windows 每個程序中的執行緒數不允許超過 2000
      Linux 每個程序中的執行緒數不允許超過 1000
      另外,在 Java 中每開啟一個執行緒需要耗用 1MB 的 JVM 記憶體空間用於作為執行緒棧之用。
      Tomcat的最大併發數是可以配置的,實際運用中,最大併發數與硬體效能和CPU數量都有很大關係的。更好的硬體,更多的處理器都會使Tomcat支援更多的併發。
       Tomcat 預設的 HTTP 實現是採用阻塞式的 Socket 通訊,每個請求都需要建立一個執行緒處理。這種模式下的併發量受到執行緒數的限制,但對於 Tomcat 來說幾乎沒有 BUG 存在了。
       Tomcat 還可以配置 NIO 方式的 Socket 通訊,在效能上高於阻塞式的,每個請求也不需要建立一個執行緒進行處理,併發能力比前者高。但沒有阻塞式的成熟。
       這個併發能力還與應用的邏輯密切相關,如果邏輯很複雜需要大量的計算,那併發能力勢必會下降。如果每個請求都含有很多的資料庫操作,那麼對於資料庫的效能也是非常高的。
       對於單臺數據庫伺服器來說,允許客戶端的連線數量是有限制的。
       併發能力問題涉及整個系統架構和業務邏輯。
       系統環境不同,Tomcat版本不同、JDK版本不同、以及修改的設定引數不同。併發量的差異還是滿大的。

maxThreads="1000" 最大併發數 

minSpareThreads="100"///初始化時建立的執行緒數

maxSpareThreads="500"///一旦建立的執行緒超過這個值,Tomcat就會關閉不再需要的socket執行緒。

acceptCount="700"// 指定當所有可以使用的處理請求的執行緒數都被使用時,可以放到處理佇列中的請求數,超過這個數的請求將不予處理

配置例項:

<Connector port="8080" protocol="HTTP/1.1"   minSpareThreads="100"   maxSpareThreads="500"      maxThreads="1000"   

acceptCount="700" 

               connectionTimeout="20000"
               redirectPort="8443" />

相關推薦

Tomcat效能併發配置

當一個程序有 500 個執行緒在跑的話,那效能已經是很低很低了。Tomcat 預設配置的最大請求數是 150,也就是說同時支援 150 個併發,當然了,也可以將其改大。 當某個應用擁有 250 個以上併發的時候,應考慮應用伺服器的叢集。      具體能承載多少併發,

Tomcat效能併發

當一個程序有 500 個執行緒在跑的話,那效能已經是很低很低了。Tomcat 預設配置的最大請求數是 150,也就是說同時支援 150 個併發,當然了,也可以將其改大。當某個應用擁有 250 個以上併發的時候,應考慮應用伺服器的叢集。具體能承載多少併發,需要看硬體的配置,C

Tomcat效能併發(1000)

當一個程序有500個執行緒在跑的話,那效能已經是很低很低了。Tomcat 預設配置的最大請求數是 150,也就是說同時支援 150 個併發,當然了,也可以將其改大。 當某個應用擁有 250 個以上併發的時候,應考慮應用伺服器的叢集。 具體能承載多少併發,需要看硬體的配置,CPU越多效能越高,分配給JVM的記憶

Tomcat的性能並發配置

架構 socket 通信 eth 線程處理 reads jdk 個數 參數 隊列 當一個進程有 500 個線程在跑的話,那性能已經是很低很低了。Tomcat 默認配置的最大請求數是 150,也就是說同時支持 150 個並發,當然了,也可以將其改大。 當某個應用擁有 25

Tomcat併發數優化,修改service.xml效能調優 增加併發連線數

可以在控制檯的啟動資訊裡看見,預設狀態下沒有被開啟nio配置,啟動時的資訊,如下: 2010-2-1 12:59:40 org.apache.coyote.http11.Http11Protocol init 資訊: Initializing Coyote HTTP/1.1 on http-8080 2010

Tomcat修改service.xml效能調優 增加併發連線數

 詳細配置: <Connector executor="tomcatThreadPool"                port="80" protocol="HTTP/1.1"                 connectionTimeout="20000"

一個計算併發併發效能面試題

遇到一位測試的職友說在某個QQ群看到有人問一個性能面試題,問我會不會,我根據自己的知識點做了一些計算並記錄,答案如下。 題目: 若每月有30000次的使用者登入系統,每天8小時工作日,每月80%的登入在20%的時間內完成,每天80%的業務在20%的時間內完成,計算每分鐘併

Tomcat配置併發連線數

幾乎所有的中文網頁都介紹,要修改Tomcat的預設最大併發連線數,應該進行如下設定(實際上這些步驟是錯誤的): -------------------------------------------- 在tomcat配置檔案server.xml中的<Connec

2018年最後一天 VsCode中執行nodeJs程式碼的簡單方法 Pgsql和Mysql的對比 Tomcat併發數 Spring AOP不起作用原因

發現2017的隨筆總結依舊適用,想堅持每天寫點東西分享,但感覺每天能原創分享的內容真的不多,尤其是要把自己想分享的內容寫清楚也需要額外花費很多的時間,這讓本來平時就工作比較忙的自己疲於應付,於是乎就轉載自己看到的一些好的文章分享,甚至有些文章自己都沒完全看完就發,湊合著完成了任務,但自己的成就感很低。因此我不

Tomcat 7併發連線數的正確修改方法

這是個很簡單的問題,但是搜了一圈,發現大家都寫錯了。所以這裡總結一下: 幾乎所有的中文網頁都介紹,要修改Tomcat的預設最大併發連線數,應該進行如下設定(實際上這些步驟是錯誤的): ----------------------------------------

設定springboot自帶tomcat連線數和併發

從原始碼來看,最大連線數和最大併發數預設是10000和200 可以通過工程下的application.yml配置檔案來改變這個值 server:   tomcat:     uri-enco

IIS 之 連線數、併發連線數、併發工作執行緒數、佇列長度、工作程序數

轉載: 參考:https://blog.csdn.net/enweitech/article/details/79815137 https://blog.csdn.net/enweitech/article/details/79815137 https://blog.csdn.net/b

IIS併發連線數

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

函式的極值小值

1.在這一章節裡面需要掌握的有三個定理: 求解極值的步驟:   2.求解最大值和最小值問題 有以下步驟:   3.習題: 1.求下列函式的極值(先要求解出定義域)

nginx併發連線數的思考:worker_processes、worker_connections、worker_rlimit_nofile

無論是看過的nginx有關書還是網上看到的有關nginx 配置說明的文章(http://wiki.nginx.org/EventsModule#worker_connections),無一例外,在講到 worker_connections 和 max_clients這兩個概念的關係時都一致的一筆帶過

mysql 檢視連線數,狀態,併發

show status like '%max_connections%'; ##mysql最大連線數set global max_connections=1000 ##重新設定show variables like '%max_connections%'; ##查詢資料庫當前設定的最大連線數 show gl

瀏覽器同域名請求的併發數限制

當我們在瀏覽網頁的時候,對瀏覽速度有一個重要的影響因素,就是瀏覽器的併發數量。併發數量簡單通俗的講就是,當瀏覽器網頁的時候同時工作的進行數量。   如果同時只有2個併發連線數數量,那網頁開啟的時候只能依賴於

MySQL檢視併發連線數

MySQL檢視最大併發連線數 MySQL效能相關 最大併發連線數檢視 :show variables like ‘%max_connections%’; 重新設定最大併發連線數:set global max_connections=1000 修改/etc/my.cn

(CSDN遷移) JAVA多執行緒實現-可控併發數執行緒池(newFixedThreadPool)

上篇文章中介紹了單執行緒化執行緒池newSingleThreadExecutor,可控最大併發數執行緒池(newFixedThreadPool)與其最大的區別是可以通知執行多個執行緒,可以簡單的將newSingleThreadExecutor理解為newFixedThreadPool(1)。例如執行一下兩個程

Mysql 檢視連線數,狀態 併發

-- show variables like '%max_connections%'; 檢視最大連線數 set global max_connections=1000 重新設定 mysql> show status like 'Threads%'; +---