Sql server SSIS查询在来自目录的作业中运行非常缓慢。等待类型:异步网络IO

Sql server SSIS查询在来自目录的作业中运行非常缓慢。等待类型:异步网络IO,sql-server,ssis,data-warehouse,Sql Server,Ssis,Data Warehouse,我有一个SSIS包作为项目的一部分。当通过SSIS从我的机器上运行时,处理15万条记录大约需要15分钟。 一旦部署到服务器上的目录并运行作业,它现在已经运行了2个多小时 这个特定的包正在服务器上移动数据(在暂存中),因此不存在网络瓶颈 以下是SP_WHO3的一些统计数据: cpu_时间:484482 请求的内存大小:2469520 已授予内存大小:2469520 理想内存大小:14508048 查询成本:85.3073051231772 等待类型:异步网络IO 查看服务器上的资源监视器,我发现磁

我有一个SSIS包作为项目的一部分。当通过SSIS从我的机器上运行时,处理15万条记录大约需要15分钟。 一旦部署到服务器上的目录并运行作业,它现在已经运行了2个多小时

这个特定的包正在服务器上移动数据(在暂存中),因此不存在网络瓶颈

以下是SP_WHO3的一些统计数据:

cpu_时间:484482

请求的内存大小:2469520

已授予内存大小:2469520

理想内存大小:14508048

查询成本:85.3073051231772

等待类型:异步网络IO

查看服务器上的资源监视器,我发现磁盘I/O非常高(当然),主要是系统进程的I/O,大约为190000000 B/Sec,远远超过每秒的是sqlserver.exe,大约为300000 B/Sec

包配置为将BufferTempStoragePath设置为c:\temp\ DefaultBufferMaxRows=10000 DefaultBufferSize=10485760

为了找到执行缓慢的根本原因,我应该继续寻找哪里


谢谢

异步网络IO是由于客户端代码没有足够快地使用来自SQL的行造成的

您是否已将包部署到查询数据的服务器上? 因为处理这些行需要SQL server可能正在使用的内存

在您的PC上本地运行它可以分离此负载

“系统进程,大约190000000 B/Sec”也可能是大量内存分页,因为内存不足,所以会对磁盘和内存造成冲击

就个人而言,我总是使用一个单独的专用ETL(SSIS)服务器


但是,我会检查您的SQL Server最大内存,并减少它以允许SSIS包运行。

这是在专用ETL服务器上。对不起,我没有澄清这一点。此包的源是镜像数据库,目标是暂存数据库。都在同一台服务器上。为什么减少最大内存有助于解决此问题?(服务器有16GB内存,大约90%正在使用中(这是一个开发服务器))@1701我假设SSIS和SQL引擎在同一台服务器上