首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传统ASP中的内存监控/泄漏/问题

传统ASP中的内存监控/泄漏/问题
EN

Stack Overflow用户
提问于 2013-03-06 19:36:47
回答 3查看 3K关注 0票数 3

我被要求查看一个已经慢到停止点的服务器。服务器上运行着数百个典型的ASP站点,在检查一些代码后,我发现有很多实例中ADODB.Recordset (以及其他)对象正在被打开、使用,但从未被销毁(设置为空)。我意识到可能还有其他我还没有发现的问题……

原始代码开发人员拒绝承担任何责任,因为他们表示,在网站的初始部署之后,他们多年来一直运行良好。

不幸的是,一天中没有足够的时间来检查所有站点上的所有代码。因此,有没有可用的应用程序可以监视内存使用情况、泄漏或任何可能有助于诊断导致服务器停止的原因?

最初,这些网站位于Win2003,IIS6,但现在已转移到Win2012,IIS8。现在在新服务器上也遇到了速度减慢的问题,所以我确信这不是硬件故障。

如有任何建议,我们将不胜感激。请注意,我也用ASP.NET标记了这一点,因为我感谢大多数经典的ASP开发人员现在都在使用.NET,但也许能够从他们的经验中提出一些建议……

EN

回答 3

Stack Overflow用户

发布于 2013-03-08 04:08:11

所有打开的连接都有可能在高负载下导致问题,但即使回到ASP Classic,也有一些像样的垃圾回收。当页面完成处理时,保持打开的对象和连接将自动关闭。另请参阅:https://stackoverflow.com/a/1613337/25163

我过去使用过一个简单的ASP Profiler来查找我仍然维护的ASP/VBScript站点中的特定瓶颈所在。我会查看任何加载时间有问题的特定页面的日志,并首先针对这些页面。

如果你还没有这样的程序,我已经在几个项目中使用了SmarterStats的免费版本。但是,运行SmarterStats的服务器需要能够运行ASP.NET站点。

如果不对最有问题的领域进行更多的调查,任何其他建议都将是白费力气。特别是因为真正的问题很可能是在方程式的数据库端。分析有问题的页面将有助于找出这一点。

票数 1
EN

Stack Overflow用户

发布于 2013-03-06 19:47:37

除了进入每个文件并手动将每个Recodset、Connection、Command等对象设置为空之外,我不认为您还能做什么。

几年前我也有过类似的经历,我唯一的解决方案就是上面提到的。

抱歉的!

票数 0
EN

Stack Overflow用户

发布于 2013-03-08 16:19:31

从我的经验中销毁记录集(设置为零)不会影响性能。您需要检查以下内容:

SQL文件数据库连接处于打开状态,但未关闭。使用应用程序变量(这些变量会占用大量memory).

  • Excessive会话变量(对extent).

  • Pulling不需要的数据或不分页使用

  • 文件操作进行更正)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15246329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档