建议的HTTP POST内容长度是多少?

建议的HTTP POST内容长度是多少?,http,rest,http-post,load-balancing,Http,Rest,Http Post,Load Balancing,我有几个客户端不断地将数据发布到REST服务。REST服务放在网络负载平衡器后面。每个客户端每天发送100-500 MB,我需要支持500多个客户端 我可以发布非常大的数据包,这将减少TCP/IP会话设置和HTTP头的开销。但是,这会将一个客户机牢牢地绑定到特定的服务器,并限制我的可伸缩性选项。或者,我可以发送小的HTTP数据包,这样可以很好地实现负载平衡,但我会为TCP/IP会话设置和HTTP头带来更多开销 HTTP POST的推荐数据包大小是多少?或者,我如何为我的环境计算一个尺寸?没有建议

我有几个客户端不断地将数据发布到REST服务。REST服务放在网络负载平衡器后面。每个客户端每天发送100-500 MB,我需要支持500多个客户端

我可以发布非常大的数据包,这将减少TCP/IP会话设置和HTTP头的开销。但是,这会将一个客户机牢牢地绑定到特定的服务器,并限制我的可伸缩性选项。或者,我可以发送小的HTTP数据包,这样可以很好地实现负载平衡,但我会为TCP/IP会话设置和HTTP头带来更多开销


HTTP POST的推荐数据包大小是多少?或者,我如何为我的环境计算一个尺寸?

没有建议的尺寸

虽然HTTP POST大小不受RFC的限制,但由于HTTP是一种实现请求/响应类型消息传递的商品协议,因此大多数基础设施都是围绕TCP连接不特别持久/不携带大量数据这一理念进行配置的。i、 e.可能会有一些超出您控制范围的因素影响服务-虽然HTTP支持响应范围请求,但没有相应的请求

通过使用HTTPS,您可以绕过很多(尽管不是全部)。但是,您仍然需要考虑如何检测/管理停机-是否愿意等待TCP超时

大概有500多个客户端大量使用该系统,拥塞避免限制不应该是一个问题-TCP窗口扩展是否可能是一个问题取决于系统的使用方式。HTTP握手不应该是一个问题,除非您将请求大小限制为一些愚蠢的事情

如果该服务高度依赖于将大量数据推送到服务器上的客户端,那么我建议您考虑解析客户端上的数据(考虑到数据量,它可能来自文件,这意味着有签名的java小程序或具有UniversalBrowserRead权限的javascript)然后通过双向通信信道(如websocket)发送

暂且不提这一点,唯一能找出客户机和服务器之间的路由将支持什么的方法是测量它——并监视它。我预计2Mb的上传大小在任何地方都能正常工作,而10Mb的上传大小在美国或欧洲的大部分时间都能正常工作——只要没有移动客户端,你可能会将上传大小增加到50Mb

但是,如果您想保持服务的有效性,您需要监控带宽、数据包丢失和连接丢失