gpt4 book ai didi

.net - maxBufferPoolSize 小于 maxBufferSize 有意义吗?

转载 作者:行者123 更新时间:2023-12-01 02:48:03 25 4
gpt4 key购买 nike

使 maxBufferPoolSize 值小于 maxBufferSize 是否有意义?根据我的理解,答案是“否”。然而true explanation of these values来自 .NET Framework 的 BufferManager 类有点低级和有点困惑。
奇怪的是对于大型消息测试,我可以将“maxBufferSize”值提高到比“maxBufferPoolSize”值更大的数字,并且它可以工作。我想如果我没有分配足够大的池 (maxBufferPoolSize),对于最大的分配缓冲区 (maxBufferSize),它会失败,但显然情况并非如此。
任何人都可以解释或回答这个吗?谢谢!

最佳答案

当消息的生命周期结束时,我们尝试返回用于保存的缓冲区。如果池在返回时持有的总内存小于等于 MaxBufferPoolSize,WCF 将成功返回缓冲区。

类似地,在创建/接收消息时,WCF 尝试从池中获取缓冲区,如果池没有该大小的缓冲区,则我们使用 GC 进行分配。缓冲模式下分配的最大大小由 MaxReceivedMessage 大小保护。

您可以检查应用程序的内存使用情况并查看 GC 性能计数器,您会发现 GC 分配和收集将花费大量时间,因为 WCF 将无法池化这些缓冲区。

希望这是有帮助的。

关于.net - maxBufferPoolSize 小于 maxBufferSize 有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6442125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com