簡體   English   中英

如果 Azure 應用服務交換物理內存,我的作業未完成時應該掛火重啟嗎?

[英]If Azure App Service swaps physical memory should hangfire restart my job when it is not finished?

我們有一個 azure appservice,其中包含一些由 hangfire 啟動的長時間運行的進程,在這些進程中,物理內存和 CPU 被交換。 這會導致hangfire 取消。 根據文件hangfire ,我可以取消。沒有用hangfire替換內部的工作。 是否應該重新啟動未完成的作業?

還有為什么會發生內存交換? 這是我可以影響的負載平衡之王嗎?

內存交換

您正在利用什么應用服務計划 (ASP)? 要隔離問題,請嘗試以下步驟:

請檢查是否由於 EventLog.xml 中的內存自動修復或自動修復而發生回收事件。 如本文檔中所述自動修復 Windows Azure 網站

通過自動修復,它可以自動回收托管您的 Web 應用程序的工作進程。 發生這種情況時,它還將在 eventlog.xml 文件中記錄一個事件(在您的 Web 根目錄的 Logfiles 文件夾中找到)

  • 由於在 ASP 中,可以運行多個應用程序。 要隔離問題,請使用足夠的 CPU 和內存資源托管站點,看看是否可以將有問題的 WebApp 與其他應用程序分開(如果您在同一 ASP 中運行多個應用程序)

  • 如果Always On設置已關閉,請從 Azure 門戶 - 您的 WebApp > 配置刀片(> 常規設置)啟用它。

  • 如果您正在利用較低的 ASP SKU/層,請擴大到較高層,然后進行測試。

--要獲取有關問題的更多詳細信息/,您可以嘗試以下方法:

  • 您可以利用 Azure 門戶中的應用服務診斷> 在 Azure 門戶中導航到您的應用服務應用。 (下面的截圖) -- 在左側導航中,點擊Diagnose and solve problems - 查看 - “配置和管理”和“可用性和性能”||“Web App down”和“Web App Restarted”選項。

  • 只是強調一下,SSE 使用長輪詢請求,它可能會達到 230s 的限制。 Azure 負載均衡器的默認空閑超時設置為四分鍾(約 230 秒)。 如果您的 Web 應用程序需要后台處理,建議使用 Azure WebJobs 或 Azure Functions。

--查看本文檔中概述的日志:

為 Azure 應用服務中的應用啟用診斷日志記錄

主動自動修復

應用服務診斷

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM