主要的windows DNA性能错误及其预防

ZDNet软件频道 时间:2000-05-24 作者:Gary Geiger , Jon Pulsipher |  我要评论()
本文关键词:
讨论运用Windows DNA 构建n层应用软件过程中最常出现的开发错误及为了预防相关错误的大体策略

对服务器资源管理的疏忽

组件应该合理的设计并且对资源的泄漏进行全面的检测。甚至极为小的泄漏也会对可扩展性和可靠性产生影响,而且必须被声明。这在理解为什么以windows NT为基础的系统需要频繁的重新启动可能是非常重要的因素。确定在一个window NT为基础的系统上是否存在这种情况的最简单办法就是运行the Windows NT (或者Windows 2000) Performance Monitor并且记录所有对象到一个文件中。当有问题出现时,将被记录的性能数据作为一个泄漏的标记。

因为大多数的泄漏通过在诸如进程数、句柄、虚拟内存等等资源消费的方面表现出的渐进增长已经让人们所了解,所以可以高效率的运转。当你看到性能数据时, SQL Server Books Online 的文章中建议检测下面计数器:

  • 句柄数目
  • 记录文件字节
  • 分页缓冲区字节数
  • 非分页缓冲区字节数
  • 私有字节数
  • 线程数目
  • 虚拟字节数

对于计算机运行每一个过程的工作设置显然既没有资源管理问题,又没有必须的预防、鉴定或者排除它们的诊断技术,这对于n层应用软件来说是非常独特的。可是排除在一个n层环境中引起这些问题的错误能够确保具有重要意义的性能优势。三种最通常的资源管理问题是内存泄漏、没有被释放的对象句柄和因为粗心运用了诸如variant_t 和 CcomPtr的帮助性类的COM对象引用数增高。

当遇到资源管理问题的时候,你应该总是记住windows DNA 应用软件的潜在复杂性可能创造出许多种不确定。例如,甚至在Java 和 Visual Basic高级语言中,当你利用它们终止时,明确地释放对象是很重要的。这样做通常是将设置对象为NULL 或者 NOTHING一样简单。另一方面,在一些情况下大的数据结构将存在,这就需要开发一个办法去维护这个结构而不是删除它然后每次需要时再重建那个结构。关于这方面的评价是变化。一些开发者感觉维护一个结构来换取性能提高,然而其他人认为它有潜在地对可扩展性的威胁。这是在许多体系结构的问题之一,在这些问题中你必须折衷研究问题,同时为你的特殊的工程做出最优选择。

上一页 下一页
在中间层的错误 拙劣地调整数据库

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134