![配置JRun](https://rvso.com/image/515036/%E9%85%8D%E7%BD%AEJRun.png)
我們正在運行 JRun 4,並且發生了很多崩潰。我試圖了解問題的根源,並修改了 jrun.xml 檔案以啟用指標日誌記錄。
這就是我所看到的...
01/06 15:07:27 metrics Web threads (busy/total/delayed): 2/100/0 Sessions: 0 Total Memory=70720 Free=7464
01/06 15:08:27 metrics Web threads (busy/total/delayed): 1/100/0 Sessions: 0 Total Memory=66944 Free=9199
01/06 15:09:27 metrics Web threads (busy/total/delayed): 3/100/0 Sessions: 0 Total Memory=67456 Free=9644
01/06 15:10:27 metrics Web threads (busy/total/delayed): 3/100/0 Sessions: 0 Total Memory=63360 Free=8368
我一直在讀的書(Adobe Coldfusion Anthology,Apress)建議「繁忙」數字是可用記憶體(以 MB 為單位)。 Adobe 文件稱其為「目前正在執行的執行緒」。哪個是對的?
還有,這一切有什麼用意思是?
如果我沒看錯的話,我總共有 100 個線程,還有 3 個繁忙線程。那麼,如果其他 97 個執行緒既不忙也不延遲,它們在做什麼呢?
答案1
我建議使用 FusionReactor 或 SeeFusion 等工具來調試 ColdFusion 穩定性問題。根據我的經驗,崩潰與記憶體分配問題有關(不夠、太多、垃圾收集器設定等)。它還取決於您的應用程式正在執行的操作以及您設定了 ColdFusion 運行的並發線程數。上面提到的工具將使您能夠即時更直觀地了解伺服器,以便您可以追蹤問題。
答案2
線程 busy/total/delayed 是 Jrun 目前正在處理的線程數。
忙碌正在進行中,目前正在執行。延遲是線程隊列上已換出且當前正在等待執行的線程(通常是因為沒有可用的活動線程)。它將停留在那裡,直到活動線程釋放或達到配置中設定的超時值。
答案3
不知道這本書“Adobe Coldfusion Anthology”,但是 Jrun 的管理文件(可在 CD 或 Web 上取得)的指標非常清楚。
我建議您也包括 JDBC 計數器,它們非常有用。
最後一件事是了解內存,不僅是總數,還有不同的類型、架構的限制等等...
Windows 上的資源監視器中的一些有關 CPU、頁數/秒等的指標通常會有所幫助。
我們運行jrun4大約5年了,遇到了大量的問題,主要是在開發領域而不是在系統中,沒有問題,有時是我們的錯。
我推薦你的最後一件事是jrun4具有「叢集」能力,如果你偵測到瓶頸,你總是可以在前端放置一個IIS並在後端放置2或3個Jrun4。是相當有效的。
希望能幫助你。