易搜百度搜索引擎优化 让客户更容易搜索到您!

立即致电: 体验易搜百度搜索引擎优化为您带来的高效服务。

当前位置:易搜网络技术公司 >> 百度优化 >> 百度搜索引擎优化 >> 浏览文章

中小型网站架构分析及优化

文章标签:中小,中小型,小型,网站,架构,分析,优化

先看网站架构图:

中小型网站架构分析及优化

以上网站架构广泛运用中大型网站中,本文从架构每一层分析所用主流技术息争决手段,有助于初入网站运维同伙们,进一步对网站架构熟悉,从而本身形成一套架构概念。

第一层:CDN

国内网络分布重要南电信北联通,造成跨地区访问耽误大题目,对于有肯定访问量网站来说,增长CDN(内容分发网络)层可有用改善此征象,也是网站加速的最好选择。CDN把网站页面缓存到全国分布的节点上,用户访问时从最近的机房获取数据,如许大大削减网络访问的路径。假如想本身搭建CDN,不建议这么做,由于什么呢?其实说白了,就是什么事别往运维上拦。CDN架构部署不复杂,影响结果的因素却许多,后期管理维护也比较复杂,想达到预期的结果确非易事,这是一个辛苦不讨好的活,最后老板照旧感觉是你能力不足。建议找专做CDN的公司,费用也不贵,有抗流量攻击能力,结果也很好,运维也少许多事,何乐而不为呢!

第二层:反向代理(网页缓存)

假如CDN没有缓存要请求的数据则向这层提议请求,在代理服务器配置缓存功能(本地),代理服务器就查找本地缓存是否有CDN请求的数据,假如有就直接返回给CDN,假如没有则请求后端负载均衡器然后转发给WEB服务器返回数据给代理服务器,代理服务器再将效果给CDN。代理服务器一样平常缓存不经常变动的静态页面,如image、js、css、html等,主流的缓存软件有Squid、Varnish、Nginx。

第三层:负载均衡

访问量较大的网站都会用到负载均衡,由于这是解决单台服务器性能瓶颈的最好办法。反向代理将请求转发给负载均衡器,负载均衡器根据算法(轮训、负载情况选择后端等)交给后端WEB服务处理,WEB服务处理完成后直接返回数据给反向代理服务器。负载均衡合理分配请求给后端多台WEB服务器,减轻单台服务器并发负载,并保证服务可用性。主流的负载均衡软件有LVS、HAProxy、Nginx。

第四层:WEB服务

WEB服务是处理用户请求的,WEB服务处理服从,直接影响到访问速度,为避免这层因素造成访问慢,应对其进行调优,让WEB服务发挥到最佳状况。常见的WEB服务有Apache和Nginx。

Apache优化:

1).mod_deflate压缩模块

查看是否加载:

# apachectl M |grep deflate

假如没有安装使用apxs编译进去:

# /usr/local/apache/bin/apxs c I A apache源码目录/modules/mod_deflate.c

deflate配置参数:

DeflateCompressionLevel6      #压缩等级(1-9),数值越大服从越高,消费CPU也就越高 SetOutputFilterDEFLATE      #启用压缩 AddOutputFilterByTypeDEFLATE text/html text/plain text/xml #压缩类型 AddOutputFilterByTypeDEFLATE css js html htm xml php

2).mod_expires缓存模块

查看是否加载:

# apachectl M |grep expires

假如没有安装使用apxs编译进去:

# /usr/local/apache/bin/apxs c I A apache源码目录/modules/mod_expires.c

再在httpd.conf启用模块:LoadModule expires_module modules/mod_expires.so

缓存机制有三种用法:全局、目录和假造主机

全局配置,在配置文件末尾添加:

ExpiresActiveon       #启用有用期控制,会主动消灭已过期的缓存,然后从服务器获取新的 ExpiresDefault "accessplus 1 days"       #默认任意格式的文档都是1天后过期 ExpiresByTypetext/html "access plus 12 months"   ExpiresByTypeimage/jpg "access plus 12 months"   #jpg格式图片缓存12月

3).工作模式选择及优化

apache有两种常见工作模式,worker和prefork,默认是worker,是混合型的MPM(多路处理模块),支撑多进程和多线程,由线程来处理请求,所以可以处理更多请求,进步并发能力,体系资源开销也小于基于进程的MPM,因为线程使用进程内存空间,进程崩溃会导致其下线程崩溃。而prefork是非线程型MPM,进程占用体系资源也比worker多,因为进程处理连接,在工作服从上也比worker更稳固。可通过apache2 l查看当前工作模式,在编译时使用—with-mpm参数指定工作模式。根据本身营业需求选择不同工作模式,再适当增长工作模式相干参数,可进步处理能力。

配置参数说明:

StartServers      8   #默认启动8个httpd进程 MinSpareServers    5    #最小的余暇进程数 MaxSpareServers    20   #最大的余暇进程数,假如大于这个值,apache会主动kill一些进程 ServerLimit      256   #服务器许可进程数的上限 MaxClients       256  #同时最多提议多少个访问,超过则进入队列等待 MaxRequestsPerChild  4000  #每个进程启动的最大线程

注:相干网站建设技巧阅读请移步到建站教程频道。