2012-02-28 36 views
1

我試圖在我的播放框架服務器 中獲得最佳優化。優化64MB服務器的播放框架實例

我嘗試優化:

%prod.jvm.memory=-server -Xms64m -Xmx128m -Xoptimize 

# Jobs executor 
# ~~~~~~ 
# Size of the Jobs pool 
play.jobs.pool=2 

# Execution pool 
# ~~~~~ 
# Default to 1 thread in DEV mode or (nb processors + 1) threads in 
PROD mode. 
# Try to keep a low as possible. 1 thread will serialize all requests 
(very useful for debugging purpose) 
play.pool=5 

但是我沒有成功,擁有256 MB的服務器上良好PERF。它似乎 http://www.playframework.org/運行在64mb服務器上,它工作 罰款。怎麼可能?我在優化中遺漏了什麼?

回答

0

256Mb服務器是什麼意思?如果256 MB是您的服務器的所有RAM,這是不夠的。

當您執行-Xmx64M時,您爲堆大小設置了最大限制,但Java也需要本地,類加載和線程的內存。

你還需要你的操作系統的內存。

根據我的經驗,256 Mb是一個java進程的下限。

0

可能有很多原因,外部發揮這種影響表現爲:

  • 服務器太忙(太多進程的CPU競爭)
  • 沒有足夠的內存和服務器做交換來實現(性能殺手)
  • 這增加了額外的延遲慢速連接

你也可以在你的應用程序問題: - 您的應用程序收到太多的請求它需要更多的內存來管理客戶 - 你是在內存中創建的對象太多,而處理請求,同時大部分的RAM(以及觸發許多GC) - 連接到數據庫是緩慢和延遲反應

要誠實,有很多原因可能導致您的應用程序運行緩慢,許多原因與您的實施或服務器有關。您需要自己監控並查看問題所在(或者向我們提供有關服務器性能,內存,交換,I/O,代碼等的更多數據)