我有一个使用Django的网络应用程序。该应用的最大容量为N
RPS,而客户端则发送M
RPS,其中M>N
。换句话说,应用程序接收的请求数超出其处理能力,未处理的请求数将随着时间的推移线性增长(t
秒之后,等待处理的请求数为(M-N) * t
)
我想知道这些请求会发生什么。它们会在内存中累积直到内存满了吗?在满足某些条件后,他们会被“取消”吗?
答案 0 :(得分:0)
如果没有有关配置的详细信息,很难直接回答您的问题。此外,对于您的应用程序的极高使用率,很难确定那里会发生什么。但可以肯定的是,您无法确保所有这些请求都能得到正确处理。
如果您能够计算应用程序每秒可处理的请求数量,并且您希望使其超过N
个请求可靠,那么也许它是一个良好的开端,可以考虑某种负载均衡器,它会将您的请求分散到多台服务器上。
为了回答你的问题,我可以想到在请求无法处理时的可能性很少:
timeout
限制(因为资源不足,I / O操作太多,......)。尝试阅读有关C10K问题的内容,可以更深入地思考它。