隐藏

日IP40万访问量的网站怎样配置服务器?

发布:2023/1/10 17:13:46作者:管理员 来源:本站 浏览次数:662

首先来说,日均IP达到40万(并不是QPS)其实也不算是特别大的流量,在这种访问量级下的站点该如何配置服务器呢,这主要看你的站点是什么类型的站点,提供的业务是什么样的。不管是什么类型的站点也是有共同的一些架构方案供我们选择,下面从前端、后端、硬件等方面介绍一下。

大流量下的前端优化建议


前端方面的优化很多运营者及个人站长并不重视,其实前端如果优化好了,可以节省一大部分的服务器资源,变相也就节省了硬件投入成本。优化方案建议如下:


1、动静分离


我们可以将动态请求(动态脚本开发的页面,比如操作数据库类的)与静态请求(如:图片、CSS、JS、音视频等)分离开来,因为静态资源可以走缓存,而动态内容可能对于实时性要求较高不能很好的利用缓存。当我们做好动静分离之后,可以把重心放在后端优化上,节省一部分资源给后端。


2、请求合并


我们知道,网页上的请求都需要经历三次握手过程,这在弱网环境下可能会导致耗时较长,另外所有的浏览器对于请求也是有并发限制的。通过请求合并技术我们可以把多个请求合并为一个请求,一次性由服务端返回给客户端,这样节省了不少中间过程的耗时,在弱网环境下效果特别明显。


3、静态资源走CDN加速


其实CDN内容分发技术本质上就是一种分布式部署方案,CDN厂商在全国各个省市都有部署节点,这样能确保用户请求静态资源时都是就近从节点服务器获取的,加快了资源加载速度。另外一方面CDN节点服务器都有缓存机制,减少了回源频率,所以源站服务器上的请求也较少了。

大流量下的后端优化方案


1、数据库读写分离


如果站点动态类请求较多,那在大流量下数据库很容易产生性能瓶颈,单台数据库服务器是无法满足需求的,我们需要部署至少2台数据库节点,做好主从同步。在代码层或通过中间件实现读写分离,从从库中读、主库中写,能有效避免写锁带来的性能开销。


2、NoSQL缓存热点数据,减少数据库查询频率


我们可通过NoSQL(如Redis)来缓存热点数据,这样数据库的查询次数减少了。


3、应用服务器做集群部署,负载均衡分流


Web服务器处理动态请求不像静态资源那样,静态资源找到后直接发回给客户端浏览器,而动态页面是需要经过处理后才能返回的。在高并发大流量场景下,单台Web服务器负载过高的话可以做个集群处理,通过Nginx做下负载均衡,将请求分发给多台服务器处理,减少单台服务器的压力。

大流量网站的服务器配置方案


可以肯定的是单台服务器较难抗住40万日IP,建议是:


1、2台Web服务器


2台Web服务来处理Web请求,在其中一台上做负载均衡、另一台服务器上安装Redis。这2台服务器普通配置(2核+2G)即可。


2、2台数据库服务器


2台数据库服务器配置看业务场景,一般的也够用,如果不够可弹性扩展。