IIS应用程序池 启用32位应用程序

悠悠虾 2015-11-06 04:40:56
大家好,
我们都知道如果程序里面有32位的dll的话,在64位的操作系统上发布WEBAPP时,需要在应用程序池上“启用32位应用程序”设置为true,否则会报错误。
32位的dll只能最大利用4G的内存,那么我想跟大家探讨的是,如果已发布的WENAPP中包含32位的dll,那么是不是这个WEBAPP只能利用服务器4G的内存呢?一般服务器都会配置到64G或者更大的内存量,这样的话是不是很浪费了呢?谢谢!
...全文
2195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
悠悠虾 2015-11-07
  • 打赏
  • 举报
回复
引用 4 楼 starfd 的回复:
你确认是因为在线人数太多导致的gc回收频繁么?反正我看到这种第一感觉就是存在大量的通过+号拼接字符串,导致大量字符串碎片
嗯 这个也有可能 我会review我们的代码 尽量使用stringbuilder。现在我已经全部使用64bits的dll了,使用loadrunner测试的话可以看到内存使用方面有一些提升,持续跟进这个问题中……
  • 打赏
  • 举报
回复
你确认是因为在线人数太多导致的gc回收频繁么?反正我看到这种第一感觉就是存在大量的通过+号拼接字符串,导致大量字符串碎片
  • 打赏
  • 举报
回复
引用 3 楼 gxiangzi 的回复:
嗯 感谢回答 是这样的 我们现在有个web应用,一旦同时online2000多人后 IIS处理请求就很吃力了,一直在回收内存,客户端迟迟得不到响应。这个时候去看服务器内存使用量才1.5G左右,服务器配置的是64G内存呀,使用率太低了。所以我就在想是不是因为32bits的dll导致它只能利用这一点内存呢? 能否给一些调试或者优化意见呢?谢谢!
客户端迟迟得不到响应,跟内存1.5G有什么关系?看不懂你的这个逻辑根据是什么。
悠悠虾 2015-11-06
  • 打赏
  • 举报
回复
引用 2 楼 github_22161131 的回复:
如果web应用使用了32位的dll,那么就必须用 32位的 w3wp 进程才能加载。 32位进程的用户空间默认是 2GB,不过对于64位系统上运行的32位w3wp,应用可以使用的大概上限是 virtual bytes 3400MB,private bytes 2800MB。如果并发用户不多并且只是 CRUD 一般够用,不过如果有大内存开销的任务(比如大量数据缓存)可能会不够。最好是找到对应的 64 位dll,如果没有,就只能使用独立的32位进程加载那个dll提供服务,web应用通过进程间通信使用它。
嗯 感谢回答 是这样的 我们现在有个web应用,一旦同时online2000多人后 IIS处理请求就很吃力了,一直在回收内存,客户端迟迟得不到响应。这个时候去看服务器内存使用量才1.5G左右,服务器配置的是64G内存呀,使用率太低了。所以我就在想是不是因为32bits的dll导致它只能利用这一点内存呢? 能否给一些调试或者优化意见呢?谢谢!
winnowc 2015-11-06
  • 打赏
  • 举报
回复
如果web应用使用了32位的dll,那么就必须用 32位的 w3wp 进程才能加载。 32位进程的用户空间默认是 2GB,不过对于64位系统上运行的32位w3wp,应用可以使用的大概上限是 virtual bytes 3400MB,private bytes 2800MB。如果并发用户不多并且只是 CRUD 一般够用,不过如果有大内存开销的任务(比如大量数据缓存)可能会不够。最好是找到对应的 64 位dll,如果没有,就只能使用独立的32位进程加载那个dll提供服务,web应用通过进程间通信使用它。
Dobzhansky 2015-11-06
  • 打赏
  • 举报
回复
4G 只是理论上的虚拟内存空间. intel 处理器有 PAE 使得32位平台可以访问超过 4G 的内存. 内存最后都是操作系统管理的, 无所谓浪费不浪费的.

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧