.net 在流程之间划分资源-站点获取';将csv文件大量上载到sql server时速度较慢
我知道这不是一个非常具体的问题,但我还是希望问,因为这是我不太了解的问题 我们有一个.net桌面应用程序,它每天在服务器上作为schedules服务运行,从csv文件上传大约8000万条记录。当然,在上传数据之后,我们有很多算法。整个过程大约需要7小时 作为服务器设置,我们有一个带有sql server 2008 R2的专用窗口服务器。因此,我们有我们的网站和我们的应用程序(数据上传)在那里运行但当应用程序运行时,我们的网站会变慢,有时会失去响应能力我完全理解原因。但我不知道出路 更清楚地说,我们有两个数据库。在上传过程中,站点正在使用第二个数据库。。上传后,切换数据库,以便应用程序使用最新数据 在我心目中,我能想到以下几点。。只是想法,我甚至不知道是否可能.net 在流程之间划分资源-站点获取';将csv文件大量上载到sql server时速度较慢,.net,sql-server,server,hosting,database-performance,.net,Sql Server,Server,Hosting,Database Performance,我知道这不是一个非常具体的问题,但我还是希望问,因为这是我不太了解的问题 我们有一个.net桌面应用程序,它每天在服务器上作为schedules服务运行,从csv文件上传大约8000万条记录。当然,在上传数据之后,我们有很多算法。整个过程大约需要7小时 作为服务器设置,我们有一个带有sql server 2008 R2的专用窗口服务器。因此,我们有我们的网站和我们的应用程序(数据上传)在那里运行但当应用程序运行时,我们的网站会变慢,有时会失去响应能力我完全理解原因。但我不知道出路 更清楚地说,我
使用IIS作为web服务器。我将尝试逐一解决您的两点: 两台机器选项 这可能是一个可行的解决方案,但您需要记住,您需要一个额外的windows和一个额外的SQL Server许可证,可能还需要额外的硬件,我不确定这是否是最划算的选择 限制资源 如果您有SQLServerEnterpriseEdition,也可以这样做,请查看有关如何设置该版本的更多信息 SQL Server资源调控器是一项无法用于管理的功能 SQL Server工作负载和系统资源消耗。资源管理器 允许您指定CPU、物理IO和内存的数量限制 传入的应用程序请求可以使用的内存 如果您没有企业版,那么这不是一个选项 可能还有第三个选项,标准版也有 多个实例 您可以在同一个框上安装两个SQL实例,并为它们分配不同的内存限制
如果IO是您的瓶颈,您也可以为每个实例选择不同的数据/日志驱动器。我将尝试逐一解决您的两点: 两台机器选项 这可能是一个可行的解决方案,但您需要记住,您需要一个额外的windows和一个额外的SQL Server许可证,可能还需要额外的硬件,我不确定这是否是最划算的选择 限制资源 如果您有SQLServerEnterpriseEdition,也可以这样做,请查看有关如何设置该版本的更多信息 SQL Server资源调控器是一项无法用于管理的功能 SQL Server工作负载和系统资源消耗。资源管理器 允许您指定CPU、物理IO和内存的数量限制 传入的应用程序请求可以使用的内存 如果您没有企业版,那么这不是一个选项 可能还有第三个选项,标准版也有 多个实例 您可以在同一个框上安装两个SQL实例,并为它们分配不同的内存限制
如果IO是您的瓶颈,您还可以为每个实例选择不同的数据/日志驱动器。我肯定会选择双机解决方案。三台机器就更好了。将SQL Server与web服务器放在同一个物理机箱上远非最佳做法。@TabAlleman如果可以的话,我想了解更多。这是怎么回事。在不同的计算机上安装sql server是否会减慢数据上载过程?已经7个小时了。你在用什么版本?我肯定会用两台机器的解决方案。三台机器就更好了。将SQL Server与web服务器放在同一个物理机箱上远非最佳做法。@TabAlleman如果可以的话,我想了解更多。这是怎么回事。在不同的计算机上安装sql server是否会减慢数据上载过程?已经7个小时了。你在看什么版本?我们有标准版。我不明白为什么在第一个选项中我们需要两个许可证?我的桌面应用程序和网站使用同一个数据库,所以我不应该将它们保存在一个sql server实例中吗?事实上,我一直在想,我们只能在一台机器上安装sql server(带有数据上传应用程序),在另一台机器上安装网站。假设在不同的机器上连接到sql server不会使站点速度降低很多。在您的问题中,您明确表示“为了更清楚,我们有两个数据库。在上载过程中,站点使用的是第二个数据库”,我们有标准版。我不明白为什么在第一个选项中我们需要两个许可证?我的桌面应用程序和网站使用同一个数据库,所以我不应该将它们保存在一个sql server实例中吗?事实上,我一直在想,我们只能在一台机器上安装sql server(带有数据上传应用程序),在另一台机器上安装网站。假设在不同的机器上连接到sql server不会使站点速度降低很多。在您的问题中,您明确表示“为了更清楚,我们有两个数据库。在上载过程中,站点使用的是第二个数据库”