tomcat8配置

tomcat經常使用參數
參數名 描述
maxThreads

    Tomcat線程池最多能起的線程數;默認值爲200;若是執行器與此鏈接器關聯,則此屬性將被忽略,由於鏈接器將使用執行器而不是內部線程池執行任務。tomcat

    注意:若是一個執行器配置設置該屬性的任何值,只會被正確記錄但它將報告(例如經過JMX)爲-1明確表示不使用。多線程

maxConnections

Tomcat最多能併發處理的請求。當鏈接達到maxThreads後,新的鏈接會接收,但不會處理。額外的鏈接將一直阻塞在隊列中,直到鏈接數小於maxThreads。併發

    注意:隊列的最大值是acceptCount。性能

    默認值因鏈接器不一樣:NiO和NIO2默認是10000;對於APR /native,默認值是8192。spa

    注意:若是置爲-1,即禁用maxThreads功能,鏈接數將再也不計數。線程

acceptCount     Tomcat維護最大的對列數;在隊列滿時,收到的任何請求都將被拒絕。默認值是100。
minSpareThreads

    Tomcat初始化的線程池大小或者說Tomcat線程池最少會有這麼多線程。若是未指定,則使用10的默認值。若是執行器與此鏈接器關聯,則此屬性將被忽略,由於鏈接器將使用執行器而不是內部線程池執行任務。隊列

    注意:若是一個執行器配置設置該屬性的任何值,只會正確記錄但它將報告(例如經過JMX)爲-1明確表示不使用。ci

    比較容易弄混的是maxThreads和maxConnections這兩個參數:io

    maxThreads是指Tomcat線程池作多能起的線程數,而maxConnections則是Tomcat一瞬間作多可以處理的併發鏈接數。好比maxThreads=1000,maxConnections=800,假設某一瞬間的併發時1000,那麼最終Tomcat的線程數將會是800,即同時處理800個請求,剩餘200進入隊列「排隊」,若是acceptCount=100,那麼有100個請求會被拒掉。
    注意:根據前面所說,只是併發那一瞬間Tomcat會起800個線程處理請求,可是穩定後,某一瞬間可能只有不多的線程處於RUNNABLE狀態,大部分線程是TIMED_WAITING,若是你的應用處理時間夠快的話。因此真正決定Tomcat最大可能達到的線程數是maxConnections這個參數和併發數,當併發數超過這個參數則請求會排隊,這時響應的快慢就看你的程序性能了。table

相關文章
相關標籤/搜索