关于QPS高并发,你了解多少?,掌握这些Android开发热门前沿知识

本文探讨了在高并发环境下Android开发所面临的挑战,包括如何处理高并发状况,解析CGI概念,以及提供了应对高并发的建议,如数据库优化、服务器选择和缓存策略。通过对系统进行优化,可以提升Web系统的处理能力,防止因并发导致的系统崩溃。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上述计算结果,1秒钟可以处理完5万的请求,系统似乎看起来很强大,但实际情况并没有这么理想,在高并发的实际场景下,服务器都是处于高负载的状态,在这种状态下,平均响应时间也会被大大增加。一个高配置的至强处理器能支持的最大并发连接是1 ~ 2万,如果访问量超过2万那么就需要更高性能的服务器才能解决,如果服务器硬件不给力,软件怎么优化都是于事无补的。就Web服务器而言,Apache打开了越多的连接进程,CPU需要处理的上下文切换也越多,额外增加了CPU的消耗,必然会直接导致平均响应时间增加。

假设我们的web系统在5万QPS的高并发状态下,平均响应时间从100ms变为250ms(可能会更高),那么,此时我们的Web系统的理论峰值QPS则变为:

20*500/0.25 = 40000 (4万QPS)

如此一来,我们的web系统只剩下4万的QPS,面对5万每秒的请求,中间相差了1万。这就是高并发状况,在某一秒内,服务器所有可用连接进程都在满负荷工作中,却仍然有1万个新的请求,没有连接进程可用,系统将陷入到崩溃的状态(CPU爆满)。举个通俗的示例,某个高速路口有5条车道,每秒可以同时通过5部车,突然有1条车道上出了车祸,只剩下4个车道可以通过,也就是说,这个路口1秒钟现在只能通过4部车,车流量仍然依旧,结果必定出现大塞车。

三、什么情况下会出现高并发?

1、某个业务请求接口出现问题,响应时间变得极慢,将整个Web请求响应时间拉得很长,逐渐将Web服务器的可用连接数占满,进而影响到其他正常的业务请求,导致无连接进程可用。

2、用户的行为特点,系统越是不可用,用户的点击越频繁,恶性循环最终导致“雪

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

崩”。例如在负载均衡体系中,其中一台Web服务器挂了,导致流量分散到其他正常工作的机器上,再导致正常的服务器也挂,然后恶性循环,将整个Web系统拖垮。

3、大量的CC攻击,或者DDOS攻击。

四、处理高并发状况

1、重启Apache服务

如果系统因为高并发导致雪崩”,这种情况下贸然重启Apache服务,是无法解决问题的。最常见的现象是,Apache服务启动起来后,立刻又挂掉了。这个时候,最好在CGI入口层将流量拒绝,然后再将其重启。

2、过载保护

一些特殊的业务场景(例如秒杀和抢购),流量往往是超乎我们系统的准备和想象的。这个时候,过载保护是必要的。如果检测到系统满负载状态,选择拒绝请求也是一种保护措施。正确的做法是将过载保护设置在CGI入口层,快速将客户的直接请求返回。

什么是CGI?

CGI的定义:

CGI(Common Gateway Interface))是HTTP服务器与你的或其它机器 上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上 。

CGI的功能:

绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。

CGI的处理步骤:

  1. 通过Internet把用户请求送到服务器。
  1. 服务器接收用户请求并交给CGI程序处理。
  1. CGI程序把处理结果传送给服务器。
  1. 服务器把结果送回到用户。

五、解决网站高并发的建议

1、数据库相关

  • 数据库查询尽量不用“ select *  from 表名 ”

  • 避免相关子查询

  • 给经常查询的添加索引

  • 用排序来取代非顺序存取

2、MySQL服务器最好安装在Linux操作系统中。

3、关于web服务器是选Apache,还是Nginx,在高并发的情况下推荐使用Nginx,Nginx是Apache服务器不错的替代品。Nginx内存消耗少,官方测试能够支撑5万并发连接,在实际生产环境中可以支撑2~3万并发连接数。

4、php不需要的模块尽量关闭。

5、使用memcached缓存,Memcached是一个高性能的分布式内存对象缓存系统。

6、IIS或Apache启用GZIP压缩优化网站,压缩网站内容可以大大节省网站流量。

六、高并发解决方案

应用层面:读写分离、缓存、队列、集群、令牌、系统拆分、隔离、系统升级(可水平扩容方向)。

时间换空间:降低单次请求时间,这样在单位时间内系统并发就会提升。

空间换时间:拉长整体处理业务时间,换取后台系统容量空间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值