JBossAS7效能調優(三)

來源:互聯網
上載者:User

調優Web伺服器線程池

還有很多需要調優的地方最終影響Web伺服器的效能,其中一個最重要的因素是調優HTTP線程池設定,以匹配web請求的負載。這其實是很難做到的,但可通過調優獲得最佳效能。

web伺服器的線程數量是通過executor的屬性來設定的:

<subsystem xmlns="urn:jboss:domain:web:1.0">

 

<connector enable-lookups="false" enabled="true"

executor="http-executor"

max-connections="200"

max-post-size="2048" max-save-post-size="4096"

name="http" protocol="HTTP/1.1"

proxy-name="proxy" proxy-port="8081"

redirect-port="8443" scheme="http"

secure="false" socket-binding="http" />

. . .

</subsystem>

然後,線上程子系統中,可以定義將要使用的池的線程數,連同其他線程屬性(參見第2章,配置應用程式伺服器,以擷取有關線程子系統詳細介紹):

<subsystem xmlns="urn:jboss:domain:threads:1.0">

<bounded-queue-thread-pool name="http-executor"

blocking="true">

<core-threads count="10" per-cpu="20" />

<queue-length count="10" per-cpu="20" />

<max-threads count="10" per-cpu="20" />

<keepalive-time time="10" unit="seconds" />

</bounded-queue-thread-pool>

</subsystem>

最重要的連接器的屬性是core-threadsmax-threads,這些值設定的太低,可能沒有足夠的線程來處理所有的請求,在這種情況下,請求不被處理必須等待一段時間,直到另一個請求線程被釋放。過低的值也意味著JBoss的Web伺服器將無法充分利用伺服器硬體的優勢。

另一方面,要小心設定這些線程數,線程數設定過高會導致:
? 消耗大量的記憶體;
? 系統會消耗更多的時間做環境切換。

你應該首先調查是否存在個別的請求耗用過長的時間,線程是否返回到池中?如果存在這種情況,可能原因是,資料庫連接沒有釋放,線程排隊等待擷取一個資料庫連接,從而使其他請求無法得到處理。

在這種情況下,簡單地增加更多的線程會消耗更多CPU,GC更加頻繁,從而使事情變得更糟。在應用程式中你可以通過採取簡單的線程轉儲(thread dump),找出web伺服器線程究竟在哪裡阻塞,例如在這張圖片中,從JConsole的線程選項卡中,通過觀察它的堆疊追蹤,你可以看到看起來和下面類似的空閑線程idle thread):

另一方面,下面的HTTP線程忙於做輸入/輸出操作,可能的原因是,例如Web伺服器正在從外部資源擷取資料。

 

從上面的快照可以指導你如何監視Web伺服器上啟動並執行線程,只需在最下面的文字框填寫executor的名稱(http-executor),就會顯示所有Web伺服器線程的列表。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.