Win Server2003使用VB.NET:新基准测试

2008-04-09 04:43:36来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  摘要:详细介绍了 Windows NT 4.0、Windows 2000 和 Windows Server 2003 的相对性能和可伸缩性综合基准测试的结果,测试了在 Visual Basic 6 和 Visual Basic .NET 中创建的 Web 应用程序的性能。

  适用于:
  Microsoft? Windows Server? 2003
  Microsoft? Visual Basic? .NET
  Microsoft? Visual Basic? 6
  Microsoft? ASP.NET
  Microsoft? Windows? 2000
  Microsoft? Windows NT? 4
  Microsoft? .NET Framework 1.0 和 1.1

  简介

  本文详细介绍了一系列综合基准测试的结果,以说明 Windows NT 4.0、Windows 2000 和 Windows Server 2003 在性能和可伸缩性方面的异同。基准测试主要测试加载动态 Web 应用程序后的性能,该 Web 应用程序分别使用 ASP 在 Visual Basic 6 中创建,使用 ASP.NET 在 Visual Basic .NET 中创建。测试应用程序是 Nile 应用程序,它遵循 Ziff-Davis/Doculabs 应用服务器基准测试规范。Doculabs 还对 Windows 2000 和 Windows Server 2003 上运行的 .NET Framework 1.0 和 1.1 版执行了 .NET 实现方案测试。两种应用程序实现方案的代码均可以从 MSDN 站点下载。

  根据此报告中的数据,客户可以进行以下有用的性能/可伸缩性比较:

  • Windows NT 4.0 Enterprise Edition (SP 6)、Windows 2000 Advanced Server (SP3) 和 Windows Server 2003 的可伸缩性和性能比较。此比较提供的信息非常有用,通过这些信息,我们可以了解用于基于服务器的应用程序的主要 Windows 服务器版本在过去五年中所取得的进步,还可以了解为什么要升级到新的操作系统版本(包括 Windows Server 2003),以便在使用更少硬件的前提下获得更好的可伸缩性以及处理更多并发用户的能力。
  • Visual Basic .NET/ASP.NET 与 Visual Basic 6.0/ASP 的可伸缩性比较。此比较显示了将基于 Visual Basic 6 的 Windows 格式的应用程序转移到基于 .NET Framework SDK 的 .NET 应用程序时可以获得的性能改善。
  • .NET Framework 1.0 和 .NET Framework 1.1 在 Windows 2000 和 Windows Server 2003 上的可伸缩性比较。此比较说明在两种操作系统上运行的 .NET Framework 的两个版本的性能对比。在迁移到新的 .NET Framework 1.1 版时,判断可以获得哪些性能改进十分重要,而这一点对于将 .NET 应用程序从 Windows 2000 迁移到 Windows Server 2003 更为重要。
  结果



图 1:基准测试应用程序在所有测试平台上的峰值吞吐量。

  表 1:峰值 TPS 的百分比性能比较

实现方案 Windows Server 2003 Windows 2000 Server Windows NT 4.0 Visual Basic .NET/ASP.NET 在 .NET Framework 1.1 上 100 55 N/A* Visual Basic .NET/ASP.NET 在 .NET Framework 1.0 上 88 47 N/A* Visual Basic 6/ASP 28 14 12

  * Windows NT 4.0 不支持 ASP.NET

  对结果的讨论

  基准测试表明,Windows Server 2003 在所有测试方案中都具有显著的性能/可伸缩性优势。测试还表明,从 Visual Studio 6.0/Windows 系列转移到 Visual Studio .NET 平台时可以获得最显著的效果。基于 Visual Basic 6/ASP 的应用程序的最佳性能只能达到 .NET 实现方案的峰值 TPS 的 28%。由于这是一种基于端到端解决方案的基准测试,因此对客户很有用,因为它显示了一个完整应用程序的性能,而大多数客户的应用程序都使用与此应用程序相同的基本平台构建块。另一方面,由于基准测试的对象是一个端到端的应用程序,因此很难确切地说明导致性能改善的因素有哪些。但是,以下因素可能是造成性能差异的原因:

  • Windows Server 2003 的 Internet 信息服务 (IIS) 6.0 提供了新的进程模型,比 Windows 2000 中的 IIS 5.0 和 Windows NT 4 中的 IIS 4.0 更具性能优势。由于所有应用程序在各种情况下均在独立的进程空间中运行(与 inetinfo IIS 进程隔离),因此这一点可能是导致性能提高的主要因素。
  • Windows Server 2003 对 SMP 提供了更好的支持,使得多处理器计算机可以获得更好的可伸缩性。Windows Server 2003 内核具有很多增强功能,使其在 SMP 计算机上的伸缩效率更高。
  • 使用 ASP.NET 的 .NET 公共语言运行时提供了更快的 Web 应用程序运行时环境,比使用 Visual Basic 6 COM 组件的 Active Server Pages 快很多。一般来说,ASP.NET 的性能要比 ASP 好得多。其原因包括 ASPX 页面的代码在 CLR 中运行之前已进行完全的预编译,而 ASP 页面则是对原始代码进行解释的。尽管从 ASP 页面激活的 Visual Basic 6 组件也已编译,但 .NET CLR 提供的运行时执行环境比 Visual Basic 6 运行时更快、更有效。使用 ADO.NET 获得的性能要优于使用 ADO 获得的性能,这一点可能也是导致 Visual Basic 6 和 Visual Basic .NET 性能差异的主要因素。ADO.NET 利用新的托管代码 SQL Server 本机驱动程序(System.Data.SqlClient 类),而 ADO 则使用较慢的 SQL Server OLE DB 驱动程序。
  • ASP.NET 的动态输出缓存功能。ASP.NET 支持动态页面输出缓存,作为其内置的缓存 API 的一部分。这样,Web 应用程序就很容易在中间层缓存页面和数据,以便与后端数据变换的频率相匹配。以 Nile 为例,其中的某些页面(例如产品搜索和目录列表)可以利用这种新的缓存机制,因为基准测试的运行规则规定,产品数据库每 12 小时才更新一次。ASP.NET 可以根据用户的输入来缓存页面,而不必在每次请求时都处理频繁的搜索等操作。.NET 在设置缓存规则和有效期方面提供了丰富的功能,可以根据开发者设定的缓存优先级和 LRU 策略自动权衡可用的内存和缓存大小,以便在缓存中保存常用的请求项目。而 ASP 和 Visual Basic 6 未提供用于中间层数据的缓存机制,所以在构建基于 ASP 的 Visual Basic 6 应用程序时没有相同的功能。

    标签:

    版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:VB6.0数据库访问技术与例程解析

下一篇:VB.NET启动并监测外部程序

热门词条
热门标签