【多线程与并发】网站的并发,大流量访问怎解决?

一、HTML页面静态化

访问频率较高但内容变动较小,使用网站HTML静态化方案来优化访问速度。将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略 。

优势:

  1. 减轻服务器负担;
  2. 加快页面打开速度,静态页面无需访问数据库,打开速度较动态页面有明显提高;
  3. 很多搜索引擎都会优先收录静态页面,不仅被收录的快,还收录的全,容易被搜索引擎找到;
  4. HTML静态页面不会受程序相关漏洞的影响,减少攻击,提高安全性。

二、图片服务器和应用服务器相分离

现在很多网站都会用到大量图片,而图片是网页传输中占主要的数据量,也是影响网站性能的主要因素。因此很多网站都会将图片存储从网站中分离出来,另外架构一个或多个服务器来存储图片,将图片放到一个虚拟目录中,而网页上的图片都用一个URL地址来指向这些服务器上的图片的地址,这样的话网站的性能就明显提高了。

优势:

  1. 分担Web服务器的I/O负载,将耗费资源的图片服务分离出来,提高服务器的性能和稳定性;
  2. 能够专门对图片服务器进行优化-为图片服务设置有针对性的缓存方案,减少带宽成本,提高访问速度。
  3. 提高网站的可扩展性-通过增加图片服务器,提高图片吞吐能力。

三、数据库

  1. 优化查询
  2. 主从复制、读写分离、负载均衡
  3. 分区、分库、分表

四、缓存

尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。

假如我们能减少数据库频繁的访问,那对系统肯定大大有利的。比如一个电子商务系统的商品搜索,如果某个关键字的商品经常被搜,那就可以考虑这部分商品列表存放到缓存(内存中去),这样不用每次访问数据库,性能大大增加。

五、镜像

镜像是冗余的一种类型,一个磁盘上的数据与另一个磁盘上存在一个完全相同的副本即为镜像。

六、负载均衡

在网站高并发访问的场景下,使用负载均衡技术(负载均衡服务器)为一个应用构建一个由多台服务器组成的服务器集群,将并发访问请求分发到多台服务器上处理,避免单一服务器因负载压力过大而响应缓慢,使用户请求具有更好的响应延迟特性。

七、并发控制

加锁,如乐观锁和悲观锁

八、消息队列

通过mq一个一个排队方式,跟12306一样。

你可能感兴趣的:(多线程和并发,笔试面试)