今天來試著調整web container
在網頁應用程式裡,每當程式接收到request直到返回response為止,都會占用一個thread,
而程式有多少thread可以處理request,就是由web container控制。
如果clinet端同時發起10個requset,但web container卻只有5個,
那麼就會有5個request必須等待程式將前5個request處理完畢才行。
現在來調整web container的上限,
左側選單 > Server Types > WebSphere application servers > server1
進入server1頁面後,點擊右側 Additional Properties裡的Thread pools
進入頁面,有個web container選項
點擊進入web container
我把Minimum Size改成1;Maximum Size改成5
按下ok之後save,並重啟server
接著再用跟昨天一樣那段程式,
多開幾個頁簽,發出request,讓每個thread 都停住90秒,
從log可以看到,在開到差不多5個頁簽時,就會出現以下log
[10/2/22 15:35:43:072 UTC] 00000097 ThreadPool I WSVR0652W: The size of thread pool "WebContainer" has reached 100 percent of its maximum.
表示web container有如我們調整的一樣,thread的上限只到5。
一般會依客戶的使用量來調整web container的上限,
如果網站流量大,上限就會調得高一點
不過如果程式效能不佳、回應慢,web container調得再高也是有其極限的