面试的时候,面试官问我说:nginx 在高并发的情况下如何处理
大致的问答如下(面试官简称面):
- 官:在服务器的带宽,cpu,内存,I/O 都正常的情况下。程序没有接收到请求,你会从哪方面查原因?
- 我:查看 nginx 的日志,看有没有收到请求?请求处理时间多久?看看是那条请求处理时间过长?
- 官:那你要如何处理?
- 我:使用 nginx 的负载均衡进行转发请求
- 官:那假如有 1 百万 /s 的请求,nginx 的队列满了,后面的请求只能排队怎么办?
- 我:从客户端层面进行数据拦截,过滤不必要的请求。
- 官:所有的请求都是正常的,必须的。
- 我:如果是不同项目可以配置在不同的服务器上,通过不同的 DNS 解析。
- 官:只有一个项目。
- 我:……(回答不出来)
- 官:例如刷票软件,每秒都会切换 ip,虽然发送的请求都是无效的,但是他们发请求,我们也阻止不了。
- 我:……
这种情况怎么处理?刷屏软件不应该从客户端进行请求过滤,而不需要向服务器进行请求的吗?
像这种高并发到转发都来不及的情况,实际上什么情景会碰到?有处理方法吗?
推荐文章: