如果有1000个客户端并发查询,每个客户端要查询的数据为100条
方案一:现在取用的方式是,客户端每次发来一条,然后服务端返回一条
这种方式完成一个客户端的数据查询的时间应该是在竞争查询100条数据的总查询时间和发送一百条查询数据以及返回一百条数据的网络延时之和。方案二:我想问,这种情况下,是否可以改为客户端一次性的把100条都发过来,然后批量查询,然后再把结果一次性的返来。这样可能会形成一个队列,先进的先出。。但因为发送次数减少,网络延时应该会降低很多的。大家讨论下,第二种方案是否可行,会有什么弊端?
方案一:现在取用的方式是,客户端每次发来一条,然后服务端返回一条
这种方式完成一个客户端的数据查询的时间应该是在竞争查询100条数据的总查询时间和发送一百条查询数据以及返回一百条数据的网络延时之和。方案二:我想问,这种情况下,是否可以改为客户端一次性的把100条都发过来,然后批量查询,然后再把结果一次性的返来。这样可能会形成一个队列,先进的先出。。但因为发送次数减少,网络延时应该会降低很多的。大家讨论下,第二种方案是否可行,会有什么弊端?
批量查詢最後實質上也是一條記錄的查詢!!!
没错,服务器的查询时间是一样的,这点我知道。但你没明白我意思,我是想尽量让客户端更快的收到查询结果。如果是一百次发送和接收,那除了查询时间,还有很多时间浪费在100次发送的连接上。