1.静态化页面
效率最高、消耗最少的就是纯静态化的html页面。对于一些更新频率不频繁而又被大量访问的页面,我们就可以做静态化处理,来避免大规模的数据库访问。
2.图片服务器分离
不管是什么服务器,图片都是最消耗资源的。当然还有视频,面对大数据量的访问,很可能因为图片问题而造成服务器崩溃。那么就有必要将图片和页面进行分离。把图片、视频放到独立的甚至是多台服务器里。这样可以降低页面访问请求的服务器系统的压力,并且保证系统不会因为图片问题而崩溃。
3.通过缓存加速数据库的访问。
大部分的网站都是符合二八原则的。即80%的用户会访问20%的数据库资源。那么,为了加速用户访问,同时缓解数据库的访问压力,我们就可以用缓存技术。很多语言都有自己的内置缓存,比如php的cache。除此之外,还有很多缓存技术,如mamcache、redis、mongodb等。都可以对数据进行缓存,加速用户访问的同时,也缓解了数据库的压力。
4.对数据库分库分表,读写分离
可以解决容量和性能问题。
读写分离:就是将数据库分成读库和写库,再通过主从来属性同步数据库。
分库分表:分为水平切分和垂直切分。水平切分就是将一个特大的表拆分成多个小的表。垂直切分则是根据业务的不同来切分。
5.使用负载均衡
负载均衡可以进行流量分发,支撑多个服务器。
负载均衡的硬件技术:F5等。价格比较昂贵。
软件技术:LVS、Nginx、HAProxy等。
作用:可以根据应用负载进行弹性扩容,并在流量波动的情况下不中断对外服务。其冗余设置,可以使服务器可用性达99.99%(这数据是从阿里官方文档看到的,勿喷)。
6.使用CDN加速全国用户的静态文件访问
这里简单记录一下CDN原理:将数据内容缓存到附近的机房,用户访问时先从最近的机房获取数据,减少网络访问的路径,提高用户访问网站的响应速度和网站的可用性。解决网络宽带小、用户访问量大、网点分布不均等问题。
7.反向代理(可归类为5)
单独列出来是想记录一下反向代理的优点:
反向代理是指代理服务器来接受用户的连接请求,然后将请求转发给服务器,并从服务器上获得结果返回给用户。
反向代理的作用:
1.保护网络安全:任何的请求都必须先经过代理服务器,可以过滤一些非安全请求。
2.通过配置缓存功能加速web请求。可以缓存服务器上的某些静态资源,减轻服务器的负载压力。
3.实现负载均衡:充当负载均衡服务器均衡的分发请求,平衡集群中各个服务器的负载压力。
服务器高并发处理
最新推荐文章于 2023-12-25 14:32:30 发布