zfxcms ^回到顶部

您的当前位置:首页 > 架构 > 架构思想 > 高并发解决方案-我的理解

高并发解决方案-我的理解

所属分类: 架构思想   2020-03-19 10:09:43  编辑:admin  浏览次数 622 次

高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。直白点,就是在同一时间点,有多少个用户来访问。

响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。

吞吐量:单位时间内处理的请求数量。

QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显。

并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。

我们高并发问题中,应该关心什么?

高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数、PV综合浏览量,页面浏览量和访问量、UV独立访客,一定时间范围访问网站多次,只能计算为一个访客等。

如何提前发现高并发问题

知道整个网站的日qps ,单台服务器压力测试分值qps

image.png

ab -c 100 -n 5000 测试网站地址

安装

image.png

image.png

qps50,不需要优化、qps100 就得缓存或者负载均衡、qps800 cdn加速、 qps1000网站静态化 、qps2000业务分离、分布式锁

解决高并发的思想

互联网分布式架构设计,提高系统并发能力的方式,方法论上主要有两种:垂直扩展(Scale Up)与水平扩展(Scale Out)。

1.流量优化

1.1防盗链处理

1.2前端优化

              减少http请求:合并css,js,图片等

              添加异步请求,不一次性全给用户

              应用浏览器缓存和文件压缩

              Cdn加速,可以解决带宽不够用的情况

              建立独立的图片服务器

2.服务端优化:

       页面静态化

       并发处理:异步处理

队列处理:

3.数据库优化

       Redis和memcache缓存

       分库分表

       分区操作

读写分离

负载均衡

4.Web服务器优化

       负载均衡 nignx

7层网络协议

应用层

与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序就需要实现OSI的第7层。示例:TELNET,HTTP,FTP,NFS,SMTP等。

表示层

这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASCII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASCII格式,发送方将把文本从发送方的字符集转换成标准的ASCII后发送数据。在接收方将标准的ASCII转换成接收方计算机的字符集。示例:加密,ASCII等。

会话层

它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。

传输层

这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。

网络层

这层对端到端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。

数据链路层

它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关。示例:ATM,FDDI等。

物理层

OSI的物理层规范是有关传输介质的特性,这些规范通常也参考了其他组织制定的标准。连接头、帧、帧的使用、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。

服务器文章检索

服务器文章目录