2012-12-20 63 views
4

在我們的應用程序中,我們需要構建一個HTTP服務器,其中在啓動時,各種遠程服務器向其打開約1,600個持久HTTP連接,並且每個連接快速連續發送數千個HTTP POST請求流大約30秒 - 我們只需要幾毫秒就可以響應每一個。 30秒後連接關閉,另一個打開。我應該如何配置Netty來處理高請求量?

我們選擇了Netty,因爲大多數帳戶它非常適合構建高效的HTTP服務器。

在實現我們的HTTP服務器時,我們遵循Netty HTTP服務器的Snoop示例。

不幸的是,我們遇到的問題可能是Netty被重載所解釋,所以我們正在重新考慮它是否被正確配置,特別是在處理線程的方式。我們將服務器配置如下:

ServerBootstrap bootstrap = new ServerBootstrap(
    new NioServerSocketChannelFactory(
      Executors.newCachedThreadPool(), 
      Executors.newCachedThreadPool())); 

當我們收到我們處理它,在我們的SimpleChannelUpstreamHandler調用的messageReceived()在同一個線程中的請求。

這種方法應該在我們的應用程序中工作嗎?

編輯:失敗發生時,盒子上的負載平均值爲0.05,非常低。我已經爲Java進程分配了4GB,但幾乎沒有使用它。所以,基本上,這個盒子是完全欠載的。

+0

您可以發佈一些CPU /內存使用率數據嗎? – uldall

+0

根據您的要求作出回覆,該框不會超載。 – sanity

+0

發生了什麼錯誤? –

回答

相關問題