可能更适合"Rack Overflow",但从开发人员的角度来看,在64位Windows主机上运行IIS(同时提供传统的经典ASP和.NET)作为32位进程而不是64位进程有什么优缺点?
32/64(iis/server)超过32/32的主要优点似乎是每个IIS进程内存高达4GB的能力.
我期望32/64超过64/64的优势似乎是更容易访问传统的32位进程内DLL(我们仍有一个来自合作伙伴供应商,我们无法立即离开)给定较小的内存指针,相同代码的内存占用量较小.
64/64超过32/64或其他任何可以保证完全切换的性能优势吗?我在这做过任何错误的假设吗?
在64位vevrsus 32位上运行IIS的唯一优势是允许访问更大的内存地址空间.
如果您正在进行正常的ASPX页面处理,那么您可能不需要从任何单个进程处理超过4gb的内容.假设您在32位模式下运行,并且在同一台计算机上具有多个工作进程的Web园.在这种情况下,每个进程最多可以处理4GB.
执行缓存时可以获得最大的优势.64位进程可以维护一个巨大的内存缓存(假设您有32GB或更多的RAM来支持它),以允许您在Web服务器上缓存复杂的页面内容或数据.当数据生成成本高于检索数据时,这允许性能增益 - 例如,如果数据是精心设计的形式(比如蒙特卡罗模拟的结果),或者数据是否存在于机外和网络中IO时间比缓存检索时间贵得多.
如果您不使用缓存,那么64位IIS无法帮助您.每次查找都需要64位指针,这会使一切变慢.
64位服务器在用于SQL Server或其他数据管理服务器(比如企业电子邮件服务器,如Exchange)等数据库时,比处理服务器(如IIS或其管理的工作进程)更有效.使用64位地址空间,需要管理数据的服务器可以将更多的数据与索引和其他缓存一起保存在内存中.当查询进入时,这节省了磁盘IO时间和精细化时间.大多数Web应用程序不需要从单个进程处理超过4gb的内容.
也许是一个有用的比喻:在运输中,大型SUV就像64位机器,而普通的紧凑型乘用车就像32位服务器.您可以在大型SUV中携带更多东西,它具有更大的牵引能力,可容纳8人,GVWR为8600磅.但是,尽管如此,你付出了代价.卡车比较重.它使用更多的燃料.如果您只携带2人和一个行李袋,您不需要SUV.使用较小的车辆你会更好.它可以更快,更有效.