簡體   English   中英

帶有 SQL Server 2019 Express 的 Windows Server 2019 上的 Hangfire

[英]Hangfire on Windows Server 2019 with SQL Server 2019 Express

我正在嘗試遷移到新的托管服務提供商,但在運行我的網站時遇到了真正的困難。 它在應用程序啟動時使用 Hangfire 來運行一些后台作業,同時還在主線程上提供網頁服務。

該網站似乎適用於第一個頁面加載,然后后續訪問無法運行相當復雜的實體框架搜索查詢。

這是服務器在現有機器上的配置,通過 SQL Server 的select @@version命令:

Microsoft SQL Server 2017 (RTM-GDR) (KB4583456) - 14.0.2037.2 (X64) Nov 2 2020 19:19:59 Copyright (C) 2017 Microsoft Corporation Standard Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: )

  • 共享操作系統(不確定這是什么)
  • SQL Server 2017 - 標准版
  • .NET 框架 4.8
  • Hangfire 使用 SQL Server 存儲,表使用Hangfire架構
  • 其他應用程序表,表使用dbo模式

這是服務器在新機器上的配置,通過 SQL Server 的select @@version命令:

Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) Sep 24 2019 13:48:23 Copyright (C) 2019 Microsoft Corporation Express Edition (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: ) (Hypervisor)

  • 視窗服務器 2019
  • SQL Server 2019 - 速成版
  • .NET 框架 4.7,。 (根據 Plesk,雖然我已經安裝了 4.8)

在新服務器上,我擁有完整的 RDP 訪問權限,因此可以在這台機器上安裝我喜歡的任何軟件。 然而,SQL Server 標准版對於像我這樣的小網站來說非常昂貴。

是否存在阻止使用 SQL Server Express 在新的 Windows Server 2019 機器上運行實體框架查詢的問題? 該組合是否不允許數據庫有多個模式,或者這個組合是否存在我可能不知道的其他一些限制?

在我的本地 Windows 10 機器上使用 SQL Server Express 運行網站運行良好。

我真的很感激這方面的任何幫助,因為我正在拔掉我頭上留下的小頭發!

感謝您的幫助,但最終問題比我預期的要簡單得多。 我以為這是一個權限問題,但實際上這只是一個簡單的性能問題。

在新服務器上運行 SQL Express 失敗,因為機器沒有足夠的 RAM。 它只有 4GB 的 RAM,並且通過托管服務提供商安裝的 Plesk 和其他軟件,可用 RAM 減少到只有幾百 MB。

一些在舊服務器上需要幾毫秒才能返回的簡單查詢可能需要超過 2 分鍾才能在 RAM 受限的新服務器上返回。

將 RAM 增加到 8GB 解決了大部分問題,盡管在舊服務器上使用 SQL Express 仍然比 SQL Standard 版本慢得多,而且 SQL Standard 僅為這個網站運行成本高得驚人(舊服務器有一個共享 SQL標准版安裝)。

暫無
暫無

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

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