gpt4 book ai didi

wcf - wcf中配置属性MaxReceivedMessageSize的最大限制会影响服务性能吗?

转载 作者:行者123 更新时间:2023-12-04 15:16:13 25 4
gpt4 key购买 nike

我的 wcf 服务对另一个 wcf 服务进行 cal 时出现以下通信异常:
“已超出传入消息 (65536) 的最大消息大小配额。要增加配额,请在适当的绑定(bind)元素上使用 MaxReceivedMessageSize 属性。”

我通过增加如下大小解决了这个问题:
maxReceivedMessageSize="50000000"

但是,在这里我想知道将消息大小增加到如此大的水平是否有任何副作用。

最佳答案

是的——它可能。 WCF 默认将此限制保持在较低水平(64K)的原因是:假设您的服务器正忙于响应请求,比如几十个或几百个请求,并且它们都需要最大消息大小。

潜在地,您的服务器可能必须同时分配数十或数百个消息缓冲区 - 如果您有 100 个用户并且每个请求 64K,则为 6.4 MB - 但如果您有 200 个用户并且每个请求 5 MB - 这是一个千兆字节的 RAM在服务器中 - 仅用于消息缓冲区,用于一项服务。

所以是的 - 限制最大消息大小确实有意义,它有助于管理服务器的内存消耗(以及性能)。如果你把它打开得太宽,攻击者可能会做这样的攻击——用虚假请求淹没你的服务器,每个请求都分配尽可能多的内存,最终导致你的服务器宕机(这样的拒绝服务攻击很常见) .

关于wcf - wcf中配置属性MaxReceivedMessageSize的最大限制会影响服务性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2333058/

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