运行 SQL 服务器和 IIS 在同一个 Windows 服务器上而不会使网站变慢
Running SQL Server & IIS on same Windows server without making site go slow
我有一台专用的 Windows 2008 服务器,配备 32GB 内存和英特尔至强 E3-1230 v2 处理器和 SQL 服务器 2008(标准版)。
有一个繁重的数据导入和清理过程,即从每天运行的 CSV 文件导入数据,整个过程大约需要 8-10 个小时。
我的问题是 ASP.NET 托管在同一台服务器上的 MVC 网站在导入过程中会暂时变慢。大多数时候,它运行良好,但在此期间,网站会变得反应迟钝和缓慢。导入过程不会触及站点使用的数据库。
- 我有哪些选择可以确保我的网站在整个过程中顺利运行?
- 是否有可能实现,记住在同一台服务器上的数据导入过程中会执行一些非常耗费资源的操作?
导入过程是一个 Windows 应用程序,它使用 SSIS 包导入数据,然后运行服务器 SQL 服务器存储过程。
Ankit 快速解决您问题的方法是在您的专用托管服务器上安装 2 个虚拟机。一台 VM 可以托管您的网站,另一台 VM 可以托管您的数据库和导入过程。
从性能的角度来看,这是个案,因为您的问题非常普遍且广泛,因此社区无法帮助您提示您仍然可以遵循。
为您的网站创建单独的应用程序池。
您可以根据需要为导入、IIS 等进程分配最小值和最大值 CPU 以及内存利用率。
检查时钟速度;它是否与您的处理器和虚拟内存匹配。无论你有多少虚拟内存,你都需要你的 RAM 与你的处理器内核同步。
As SQL服务器标准版最多支持4核处理器。检查您的专用服务器中有多少内核。
如果找到适合您的任何其他提示,将会更新。
对于我的问题,我从社区获得了一些非常好的想法。拥有两台虚拟机是非常好的,但由于我对该主题缺乏了解而受到限制。 Anil 在评论中提出的解决方案也是一个很好的解决方案,我们可以将两个单独的 SQL 服务器实例并使用 Resource governor 来限制资源,但为此我们必须先升级到企业版,这对我们来说是不可行的那一刻。
考虑到成本,我们决定尝试 Varnish。计划是获得一个单独的 Linux VPS 并在那里设置 Varnish。 Window 服务器将成为 Varnish 的后端。一旦我们的导入过程准备好数据,我们的页面或多或少就会保持静态,我想我们会做得很好。
希望对大家有所帮助。我仍然会接受 Rahul 提供的答案,因为在理想世界中这似乎是一个更好的解决方案。
我有一台专用的 Windows 2008 服务器,配备 32GB 内存和英特尔至强 E3-1230 v2 处理器和 SQL 服务器 2008(标准版)。
有一个繁重的数据导入和清理过程,即从每天运行的 CSV 文件导入数据,整个过程大约需要 8-10 个小时。
我的问题是 ASP.NET 托管在同一台服务器上的 MVC 网站在导入过程中会暂时变慢。大多数时候,它运行良好,但在此期间,网站会变得反应迟钝和缓慢。导入过程不会触及站点使用的数据库。
- 我有哪些选择可以确保我的网站在整个过程中顺利运行?
- 是否有可能实现,记住在同一台服务器上的数据导入过程中会执行一些非常耗费资源的操作?
导入过程是一个 Windows 应用程序,它使用 SSIS 包导入数据,然后运行服务器 SQL 服务器存储过程。
Ankit 快速解决您问题的方法是在您的专用托管服务器上安装 2 个虚拟机。一台 VM 可以托管您的网站,另一台 VM 可以托管您的数据库和导入过程。
从性能的角度来看,这是个案,因为您的问题非常普遍且广泛,因此社区无法帮助您提示您仍然可以遵循。
为您的网站创建单独的应用程序池。
您可以根据需要为导入、IIS 等进程分配最小值和最大值 CPU 以及内存利用率。
检查时钟速度;它是否与您的处理器和虚拟内存匹配。无论你有多少虚拟内存,你都需要你的 RAM 与你的处理器内核同步。
As SQL服务器标准版最多支持4核处理器。检查您的专用服务器中有多少内核。
如果找到适合您的任何其他提示,将会更新。
对于我的问题,我从社区获得了一些非常好的想法。拥有两台虚拟机是非常好的,但由于我对该主题缺乏了解而受到限制。 Anil 在评论中提出的解决方案也是一个很好的解决方案,我们可以将两个单独的 SQL 服务器实例并使用 Resource governor 来限制资源,但为此我们必须先升级到企业版,这对我们来说是不可行的那一刻。
考虑到成本,我们决定尝试 Varnish。计划是获得一个单独的 Linux VPS 并在那里设置 Varnish。 Window 服务器将成为 Varnish 的后端。一旦我们的导入过程准备好数据,我们的页面或多或少就会保持静态,我想我们会做得很好。
希望对大家有所帮助。我仍然会接受 Rahul 提供的答案,因为在理想世界中这似乎是一个更好的解决方案。