gpt4 book ai didi

c# - 当多个用户登录时,一段时间后 ASP.Net C# 应用程序变慢

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:45 24 4
gpt4 key购买 nike

在应用程序中,所有 sql 连接都正确关闭,而且当用户注销其连接关闭时,RAM 中的 sql 进程内存仍然增加,一段时间后应用程序变慢。

最佳答案

@Shrik:SQL Server 是 A 类内存用户 - 按照设计。默认情况下,它被设置为获取它可以获取的所有内存。它实际上会将数据从磁盘移动到物理内存中 - 这样将来访问这些数据的速度就会快得多。

当 sql server 服务位于它自己的盒子上时 - 好吧,这不是什么大问题。但是当其他应用程序试图在那个盒子上运行时——会出现严重的资源瓶颈。这种情况就是我在您的讨论中从字里行间读到的内容。

如果您的应用程序在 SQL 框上运行,并且每当 sql server 开始“做它的事情”时性能就会受到影响,要么:限制 sql 可用的内存数量(不太好)或给 sql服务器自己的盒子。

如果你的 sql server 已经在它自己的盒子上,我首先要区分“缓慢”的来源是运行一个典型的“慢”查询/语句 - 来自应用程序和 SQL Server , 通过 SSMS。我知道,这不是高科技,但非常有说服力。如果通过 SSMS 查询快速灵活,那么就不要管 DBMS,而是专注于应用程序和网络物理/软层。如果查询不太好 - 然后查看@SQL Server。

如果是 sql server,我的问题是您的查询性能不佳,您描述它的方式随着应用程序的运行而变得更糟,但在应用程序重新启动后会变得更好吗? (顺便说一句,如果重新启动应用程序,但 Sql Server 没有“修复”问题,则很可能是应用程序问题)。

和往常一样,日志是您的 friend !看看 SQL Server 是怎么说的。例如,您的应用程序可能会大量使用 SQL CLR。第一次调用程序集时,它是 SLOOOOW。第二次,快。 SQL Server 管理它的内存空间,有时,它会将程序集推出内存。下次调用程序集时——猜猜用户的体验是什么?慢。猜猜从哪里可以看出 SQL Server 是否从内存中推送程序集?

让我们尝试一些故障排除,您发布结果,我敢打赌有人可以为您提供更多帮助。请记住 - 您可以提供给我们的任何日志、错误消息或硬数据都将真正帮助我们回答您的问题。

祝你好运!

关于c# - 当多个用户登录时,一段时间后 ASP.Net C# 应用程序变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3163741/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com