[寫在前面]
(1) 在 IIS 下,aspx 接到 request 後,再以 remoting call 的方式,呼叫一 windows service(主要是在本機上); 而這個 windows service 實做了所有的邏輯,並且會定時(如: 每一分鐘或每五分鐘)從 database 中重新載入資料形成 memory cache;並將結果回傳給 aspx,再由 aspx 組成網頁或字串以回應。
(2) aspx 與 windows service 會記錄各自所消耗的時間。
(3) environment: Windows 2003, .net framework 2.0 sp1.
[問題 & 狀況]
(1) aspx 記錄了呼叫 remoting call 到得到結果的時間,在某些時候,會遠超過 windows service 處理該次的時間。
而其中,消失的時間那裡去了呢?
會是因為 thread pool 滿了,而在等待嗎? CPU 太忙所導致嗎?
但是看起來,系統資源似乎還綽綽有餘啊!
(2) 而這種現象,在流量大(QPS高)時,尤其明顯。
(3) 有些機器很嚴重,但有些機器卻還可以接受。(ps: 機器等級差不多,執行內容都相同。)