我在play 2.0框架上編寫應用程序。這個應用程序的目的是處理圖片上傳和調整他們在後臺。在playframework中,我如何區分io線程優先於akka actor?
通過將文件保存到文件系統的標準後處理程序處理上載。現在,這只是在事件或IO線程上完成的。文件成功保存後,AKKA actor會發送一條消息將原始圖像調整爲多種不同的尺寸(當前爲4)。這些調整大小的操作對CPU要求很高,需要一些時間。
這一切都很好,直到我在某些負載下測試應用程序。在負載情況下,調整大小操作正在有效地佔用所有可用的CPU時間,因此傳入的HTTP請求在CPU時間上有點吃力,我們看到這些請求的積壓達到最終請求開始超時的程度。
所以問題是,我如何配置系統(或重新編寫它)爲傳入的HTTP請求提供比調整大小請求更高的優先級?
有趣的話題,你有沒有考慮使用外部圖形庫+建立圖像隊列來調整大小(即在數據庫中)?在這種情況下,您可能會減慢隊列執行速度,甚至在流量過大的情況下停止執行隊列。 – biesior
由於空間問題,我們嘗試從db中的排隊映像遷移。 – harmanjd