热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用LINQtoSQL将ASP.NETWeb窗体应用程序迁移到SQLServer2016后的性能问题

我一直在使用ASP.NETWeb窗体,VB.NET以及使用LINQ-to-SQL进行数据访问的旧版Web应用程序

我一直在使用ASP.NET Web窗体,VB.NET以及使用LINQ-to-SQL进行数据访问的旧版Web应用程序进行一些维护。

我们最近将应用程序从SQL Server 2005迁移到了SQL Server2016。此后,以前需要花费几秒钟才能生成的报告现在要花费几分钟。

报表生成的设计有些次优。为了生成单个摘要报告,我们运行了大约100个查询,然后将结果拼写到最终报告的代码中。我本来希望有一个查询可以完成数据库中所有工作的设计。

在测试时,我们让数据库管理员运行了概要分析工具。在他提供的跟踪表中,我看到了大约200个与报告生成相关的条目。使用 sp_executesql (由LINQ-to-SQL生成)的一百多个数据访问查询,每个查询最多仅花费几毫秒。 sp_reset_connection 的调用次数几乎相同,但是数据库管理员断言这没有什么意外的。而且他从自己的跟踪表检查中看不到任何危险信号。

不幸的是,在我们进行测试时,网络服务器的管理员没有可运行的性能分析工具,而且我无法在本地计算机上运行该应用程序来进行自己的性能分析。

有关我们配置的更多详细信息:


  • Windows Server 2016

  • IIS 10

  • .NET Framework 4.6.2

  • SQL Server 2016(13.0.5366.0)

关于如何解决此问题的任何建议?


由于架构错误或加载数据的方法而导致向数据库服务器发送过多请求。
当您使用“延迟加载”(Linq 2 SQL中的默认方法)方法加载数据并尝试在“ foreach”块“发生太多请求”中加载相关数据时。

加载问题的解决方案:急切加载

DataLoadOptions Load = new DataLoadOptions();
Load.LoadWith (d => d.Employees);

有关如何加载数据的详细日志:

dbContext.Log = Response.Output; //

此外,当SQL连接返回到连接池时,会出现“ sp_reset_connection”,这应该不成问题。

了解更多信息:
https://www.c-sharpcorner.com/article/lazy-loading-and-eager-loading-in-linq-to-sql/


推荐阅读
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • asp中如何嵌入python的简单介绍
    本文目录一览:1、如何在IIS中执行Python脚本 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Ihaveaforminadirectivetemplate:我在指令模板中有一个表单:<formn ... [详细]
  • NetBPM的安装还是比较简单的,有比较详细的文档。1.当然是先下载运行程序了,netbpm-0.8.3.1.zip,官方网站ÿ ... [详细]
  • ASP.NET MVC 小牛之旅3:Routing——网址路由
    网址路由(Routing)在ASP.NETMVC中有两个主要用途,一个用途是匹配通过浏览器传来的HTTP请求,另一个用途则是响应适当的网址给浏览器。3.1匹配通过浏览器传来的HTT ... [详细]
  • 在windows7中安装sqlserver2005中碰到的问题1.iis检测失败的解决办法控制面板-》程序和功能-》打开或关闭windows功能-》打开IISFeatures,点左 ... [详细]
author-avatar
玉米猴子_794
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有