你确认是因为在线人数太多导致的gc回收频繁么?反正我看到这种第一感觉就是存在大量的通过+号拼接字符串,导致大量字符串碎片
嗯 感谢回答 是这样的 我们现在有个web应用,一旦同时online2000多人后 IIS处理请求就很吃力了,一直在回收内存,客户端迟迟得不到响应。这个时候去看服务器内存使用量才1.5G左右,服务器配置的是64G内存呀,使用率太低了。所以我就在想是不是因为32bits的dll导致它只能利用这一点内存呢? 能否给一些调试或者优化意见呢?谢谢!
如果web应用使用了32位的dll,那么就必须用 32位的 w3wp 进程才能加载。 32位进程的用户空间默认是 2GB,不过对于64位系统上运行的32位w3wp,应用可以使用的大概上限是 virtual bytes 3400MB,private bytes 2800MB。如果并发用户不多并且只是 CRUD 一般够用,不过如果有大内存开销的任务(比如大量数据缓存)可能会不够。最好是找到对应的 64 位dll,如果没有,就只能使用独立的32位进程加载那个dll提供服务,web应用通过进程间通信使用它。
62,046
社区成员
669,049
社区内容
加载中
.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。
希望和大家一起共同营造一个活跃、友好的社区氛围。
试试用AI创作助手写篇文章吧