2012-07-19 81 views
3

我們正在學習使用Play!新項目中的框架。我們選擇了Play!因爲它的生產力,Scala支持和非阻塞體系結構。Play Framework,Ebean和Akka Promises

經過壓力測試(Java)計算機數據庫示例應用程序後,我看到很多調度程序和Ebean線程,我無法瞭解Play如何與Ebean ORM集成。每一個電話都被派往Akka並在另一個線程中執行。

我看過所有玩!框架文檔(特別是本部分http://www.playframework.org/documentation/2.0/JavaAsync),並且找不到有關此集成工作方式的任何信息。

如果有人能爲我們照亮這條道路,我將非常感激。

謝謝!

回答

3

首先,關於基準:

請閱讀此頁關於產品設置:https://github.com/playframework/Play20/wiki/Production它的關鍵是有正確的阿卡設置運行任何基準測試(取決於您的應用程序是否主要是阻塞或非阻塞前應用程序你可能需要使用不同的線程設置)。另外,請確保您只在prod模式下進行基準測試。

至於ebean:play按原樣使用ebean庫(包括運行ebean的字節碼增強器),所以沒有什麼特別的地方。一般來說,每個請求都會得到一個單獨的線程,並且我們通過akka異步地將響應發送給netty。

希望這會有所幫助。

+1

好的......如果每個請求都發送給Akka,並且永遠不會阻止,爲什麼我們需要_Asynchronous Results_? 我以爲玩!會阻止我執行一些計算密集型任務或對數據庫進行一些大量查詢。 關於基準測試:我正在用'play start'運行應用程序,並根據這篇文章做了一些很好的調整:http://www.jamesward.com/2012/06/25/optimizing-play-2-for-database -driven-apps – leone 2012-07-20 11:54:44

+0

@poko我也對此感興趣。你認爲你可以回答嗎? – daniels 2015-07-06 07:45:07