Web services RESTWeb服务和保持活动状态

Web services RESTWeb服务和保持活动状态,web-services,rest,keep-alive,Web Services,Rest,Keep Alive,我正在建立一个面向服务的web应用程序。UI部分(一个web应用程序)正在使用我正在编写的REST web服务。所以我在服务器端和客户端都有手 我只是想知道在这样的环境下设置HTTP keep alive是否有意义。如果是,我很好奇为什么 提前谢谢。是的,谢谢!通过我在服务器上的测试,我可以在不使用keepalive的情况下每秒收到300个REST web服务调用,而在启用keepalive的情况下,每秒可以收到2000多个调用 您必须对使用模式进行一些分析-用户驱动的使用通常以突发方式出现,因

我正在建立一个面向服务的web应用程序。UI部分(一个web应用程序)正在使用我正在编写的REST web服务。所以我在服务器端和客户端都有手

我只是想知道在这样的环境下设置HTTP keep alive是否有意义。如果是,我很好奇为什么


提前谢谢。

是的,谢谢!通过我在服务器上的测试,我可以在不使用keepalive的情况下每秒收到300个REST web服务调用,而在启用keepalive的情况下,每秒可以收到2000多个调用


您必须对使用模式进行一些分析-用户驱动的使用通常以突发方式出现,因此保持keepalive超时很短是有意义的,只是为了处理单个突发。

感谢您的回复。这是keepalive在REST环境下的唯一优势吗?基本上是的——每次协商一个新的TCP连接都很耗时——它很容易达到几百毫秒,在某些情况下足以让最终用户产生“站点速度慢”的想法。因为,如果您使用“保持活动”,当连接丢失时会透明地重新协商。使用它不会造成任何伤害,它不会使您的代码变得更复杂,只是增加了一点速度。@如果来自同一客户机的请求更多,则使用“保持活动”会带来好处,不是吗?保持连接处于活动状态的缺点是我们可能会阻止新客户端创建连接,如果我错了,请纠正我。@Bruce_Wayne yes-如果要保持数据交换,保持连接处于活动状态可避免代价高昂的TCP协商。当然,并没有免费的啤酒,你们需要根据服务器端使用的额外资源付费。然而,服务器可以保持打开的连接数量没有技术限制(但OSs有限制),保持活动更像是服务器和客户端之间的礼貌协商——如果资源耗尽,服务器可以随时改变主意,所以总的来说,我不认为这是一个问题。@Dayofcondor感谢你的回复,在某种程度上它验证了我的理解。出于好奇,我现在有另一个问题,正如您所说,连接数量的限制主要是由于操作系统的限制(我同意),假设一台服务器侦听部署在其上的rest服务的5个不同端点,并且服务器在任何时候最多允许1000个连接,这是否意味着所有端点将以任何比例共享这1000个连接,具体取决于哪个端点的请求?