我们有这两种配置
- Windows Server 2003,IIS6,32位应用程序池,4gb RAM,4个cpu,.net 4已安装
- Windows Server 2012,IIS8,64位应用程序池,16GB内存,4个cpu,.net 4.5已安装
技术如下:
- Asp.net 4.0 webforms
- 渲染主要是xml / xslt转换(XslCompiledTransform)
- AppFabric作为outputcache(独立,不是天蓝色)
- Xml文件和XslCompiledTransform使用Cache API
缓存在内存中
几天之后,我们看到2012年的服务器比2003年要慢得多(有时慢了10倍!!)。经过几天的头部刮擦和测试(perfmon,dottrace),我们尝试将2012应用程序池设置为32位,并且它有效!现在2012服务器运行得更快。
第一个问题:你能解释一下吗?我唯一的猜测是AppFabric的客户端库是为32位系统制作的......
第二个问题:你如何使用世界上的所有工具(perfmon,windbg,dottrace等)来发现64位是问题?