WIndows Server 2019+SQL Server 2019企业性能问题(与Win Server 2016相比



到目前为止,我们在Windows Server 2016上运行MSSQL 2019 Enterprise Server。MSSQL Server用于商业智能,因此它还使用SQL Server代理作业执行存储在Integration Services目录中的SSIS包。在Windows 2016 Server上,定期刷新此作业大约需要4分钟。

切换到新的Windows Server 2019后,大约需要12分钟,速度慢了三倍。我已经检查了SQL Server和数据库的所有设置。它们都符合旧的设置。磁盘、CPU和RAM也匹配,基准测试显示没有问题。此外,新服务器使用的新存储比旧服务器快得多。因此,这一切都归结为网络性能,2019年Windows Server的网络性能似乎比2016年差得多。

有人知道这里的问题是什么吗?我在谷歌上搜索了一下,找不到任何真正的解决方案。似乎大家都知道2019年胜利的表现不如2016年。但是关于这个问题的线索(没有解决方案(已经有好几年的历史了。我不敢相信这件事在过去三年里没有得到解决。

感谢您的帮助。

编辑:附加说明:SSIS包从不同位置加载数据。另一台运行在Win 2016服务器上的MSSQL服务器和几个运行在Debian上的Postgres数据库。数据存储在Win 2016(旧(/2019(新(服务器上的上述SQL Server上。包中当然有查找。但这些套餐完全相同。还有数据库、表、SQL Server配置等等。唯一的区别是操作系统。我排除了与操作系统的网络接口/功能有关的问题,因为CPU、RAM和SSD都被排除在外,因为它们也是相同的,基准测试显示没有问题。此外,我还注意到使用远程桌面将1GB文件复制到服务器的巨大差异。在2016服务器上复制大约需要1:40分钟,在2019服务器上复制需要3:30分钟。将做更多的基准测试。

更新:我做了额外的测试。我想知道ssis包在哪里执行需要更长的时间。所以我做了这个设置:我在2016和2019两台Windows服务器上都安装了Visual Studio 2019 Enterprise。然后,我将SSIS项目复制到这两台机器上,并将它们配置为使用其本地主机的MSSQL数据库。然后我首先执行单个包,然后执行一个更大的主包。之后,我比较了执行时间。没有什么区别。在Visual Studio中直接在服务器上执行的所有包所花费的时间几乎相同。然后,我在这两台机器上创建了一个简单的SQL代理作业,以执行更大的主包,仅此而已。在Visual Studio中,在两台机器上执行大约需要2:40分钟。当我用SQL代理作业执行相同的数据包时,我得到了以下持续时间:

Windows Server 2016与SQL Server 2019:2:01分钟Windows Server 2019与SQL Server 2019:3:43分钟

因此,2016年的安装程序使用SQL代理的速度更快(这是合理的,因为开销比VS Execution少(,但2019年的安装速度慢了约30%。由于Visual Studio Execution实际上与SQL Server Agent Execution相同,因此SQL Server Agent一定存在问题,导致其速度与在Windows 2019上运行的SQL Server慢得多。我不知道这可能是什么。

我们解开了这个谜。我们的环境是ProxMox虚拟化环境。SQL Server的硬盘安装为SCSI。在我们改用SATA后,它的性能得到了巨大的提高。我不知道为什么,因为SCSI应该更快。所有驱动程序都是最新的,SCSI控制器处于回写模式。但这是我们IT的一个问题,我没有参与其中。正如我所说,性能下降的原因是旧服务器使用SATA,而新服务器使用SCSI。

最新更新