使用Integrated Security = SSPI时,Asp.NET MVC应用程序很慢

时间:2015-02-24 18:12:26

标签: iis asp.net-mvc-5 entity-framework-6 asp.net-identity unit-of-work

申请信息:

  1. 我们有一个使用Entity Framework 6开发的Asp.net MVC 5应用程序。
  2. 我们正在使用Asp.Identity进行身份验证。
  3. 会话已停用。
  4. 应用程序架构遵循学习部分下的asp.net站点中的建议。使用工作单元模式。
  5. SQL Server作为我们的数据库。
  6. 我们有3个数据库; Asp.NetIdentity,OurDB_Data,分别是2个DbContext。
  7. 其中一个应用程序功能是上传文件,为此我们使用的是SQL FileStream。
  8. 开发/测试服务器在生产中是相同的配置和规格。
  9. 连接字符串信息:

    connectionString =" Data Source = 192.168.10.100; Initial Catalog = AspNetIdentity; Persist Security Info = True; Connect Timeout = 30; Integrated Security = SSPI"的providerName =" System.Data.SqlClient的"

    connectionString =" Data Source = 192.168.10.100; Initial Catalog = AppProdDB; Persist Security Info = True; Connect Timeout = 30; Integrated Security = SSPI"的providerName =" System.Data.SqlClient的"

    情景1:

    1. 首先访问asp.net网站(登录)登录过程非常缓慢,根据我的发现,这是加载DbContex的时候。点击应用程序中的任何其他表单时会发生类似的问题,我知道这太正常了,因为它是一个不同的DbContext。如果我们不断使用该应用程序,则随后对该站点的访问速度非常快。

    2. 当应用程序闲置至少大约1分钟时,应用程序开始表现得好像这是第一次访问它。很慢,这种情况一直在发生。我相信这是由于DBContext缓存已过期。

    3. 我已将所有超时的应用池更改为" 0"在我们的发展和测试环境这不再是一个问题。

    4. 然而,在我们的客户制作中,这是一个大问题。最后我尝试将连接字符串值设置为 用户ID = dbUserId;密码= pwd123;集成安全性= FALSE"

    5. 奇怪的是,应用程序只有在初始访问速度变慢后才会减慢速度。但不幸的是,我们需要使用Integrated File = True / SSPI来使用SQL FileStream。

      请帮助,为什么设置集成安全性=" SSPI"导致DBContext缓存过期(我假设)或是否有任何其他原因。 ?

      在将此问题提交给客户IT团队之前,我需要缩小原因范围。目前责任在于申请:(

      App Pool配置如下:

      1. CPU限制间隔= 0
      2. 快速失败保护=错误
      3. 身份=网络服务
      4. 空闲时间= 0
      5. 回收(常规时间间隔)= 0

      6. 最近我移动了SQL Filestream的所有相关代码,这需要集成安全性=" SSPI"到一个单独的类并使用Enterprise Library 6来实现它。

        1. 现在整个应用程序在一些闲置时间后并不是慢速事件。

        2. 然而,MVC表格上传&查看文件的行为与上次相同,在一些闲置时间之后,页面变得非常慢,就像它第一次访问一样。

        3. 同时其他不使用SSPI的表单数据访问速度很快。

        4. 请帮帮忙,我一无所知......

0 个答案:

没有答案