2011-08-31 42 views
4

我正在使用REST的jetty和jersey的高性能web應用程序。如果CPU負載,內存帶寬或掛起的連接數很高,我試圖找到返回503的最佳方法。如何根據cpu /內存使用率或掛起的請求返回503服務器繁忙?

環顧網絡我沒有找到關於如何去做的很多指導,在Jetty上幾乎沒有任何指示。

要做到這一點的方法是使用代理,過濾器,servlet中的代碼?

回答

2

這幾乎取決於你是什麼樣的操作系統。如果你在linux上,那麼基於cpu/memory添加503非常容易 - 使用/ proc/meminfo和正常運行時間來計算負載,並按照你的意願行事。至於掛起的連接,這是更棘手的解決方案應該看看阿帕奇級別(鑑於你是Apache)。

我的2美分。

+0

在什麼級別(腳本/過濾器/代碼)最適合實現?如果服務器很忙,也許甚至無法獲得返回503. – mbdev

+0

的代碼,如果你有高負載,我會建議設置適當的集羣。那麼平衡器會監視節點。並且如果沒有節點爲請求提供服務,它可以通過適當的消息將其反彈回來。另外,您可能要考慮nginx - 它具有處理高負載情況的簡單方法。 – jancha

相關問題