zoukankan      html  css  js  c++  java
  • Asp.Net运行于32/64模式下的性能差异

          项目使用的是Oracle数据库,.Net使用Odac对数据库进行访问。在官方下载Odac时会让你选择是下载32位的还是64位的。这会直接影响到网站的运行模式。目前我们使用的是32位的,那么布署时,需要将应用程序池的启用32位设置为True。

          那么,对于网站来讲,是32位模式性能更好,还是64位性能更好呢?

          我没有动手亲自试验,而是在网上查了查,在这篇文章里,提问者进行了多次性能测试,并将结果汇总为图表。可以看到,Asp.Net 2.0 在32位操作系统下运行于32位模式下性能最好,Asp.Net 4.0 在64位操作系统下运行于32位模式下其次。而我之前想到的Asp.Net 4.0在64位操作系统下运行于64位模式下性能居然是最差的!

          文章里谈了若干个理由,我觉得也很好理解,64位相对于32位来讲,最大的优势是可访问内存的扩大,这对于内存敏感型的程序绝对是天大的好消息,比如数据库,缓存系统等。但对于Cpu敏感型的应用来讲,比如IIS,小指针能够带来更高的命中率(smaller pointers mean less memory needed for a specific set of instructions which means better cache hit ratios),进而32位能带来更高的性能。

          文章里所谈论的数据都是基于Windows 2003 + IIS6的,文章的最后也提到了从IIS7开始,两者之间没有太多的差别了。

          之后我与一个朋友交流了一下,他们公司正常情况也都是运行于32位模式下,从经验来讲在32位下w3wp进程内存使用量如果超过了800M,则会产生严重的性能问题。如果程序质量实在太差,才考虑使用64位模式,此时内存使用上限可以到1.5G。

          PS

          VS2012默认启用的是32位的IISExpress,如果想使用64位的,需要在运行窗口执行以下语句,然后重启VS即可。

    reg add HKEY_CURRENT_USERSoftwareMicrosoftVisualStudio11.0WebProjects /v Use64BitIISExpress /t REG_DWORD /d 1

          参考:

          ASP.NET performance decrease between 32bit/64bit server

          What are the pros and cons of running IIS as 32bit vs 64bit on a 64bit OS?

          Configure Visual Studio 2012 to use 64 bit version of IIS Express

  • 相关阅读:
    随机ID添加
    学生ID查询
    node.js基础
    冒泡排序
    循环判断语句
    vue.js详细教程--优优优
    final注意事项
    HashMap Hashtable区别
    java中间件
    JSP错误页面
  • 原文地址:https://www.cnblogs.com/ljzforever/p/3650472.html
Copyright © 2011-2022 走看看