论坛网站和社区网站怎样做网站加速

不知道从什么时候开始,不管是写独立博客,还是网络应用,甚至写托管博客的人都会朝着“大”网站看齐,去追求网站的响应速度,通俗点说,就是白屏时间,因为据各种报告说,网站打开速度更快一些,带来的用户体验就更好一些,从而带来更多的附加利益。但是对于用户来说,快,并不是简简单单请求数目尽可能少,和服务器吞吐能力尽可能大。那么,怎么快?
由于本人水平有限,内容可能有误,欢迎拍砖斧正,和帮助补充。
谈到速度(参考物和例子稍后一起提),我们首先能想到的事物有:
服务器机器性能服务器机房带宽资源服务器软件性能DNS查询速度页面资源压缩(服务端+客户端)页面提供资源数量页面资源加载时机用户终端某时刻性能用户终端浏览器性能用户直观感受异常流量情况如果有兴趣,不妨和我一起逐一聊聊吧:
服务器性能说到服务器性能,可能多数人会停留在几核几G几百G这种概念上,但是对于网站服务器,我们关注的应该是单机/VPS的数字运算能力和IO读写能力,如果不是单机服务器,那么请关注自己实际能使用的资源数量,尤其是高峰时刻,具体请参考VPS虚拟化常见方案:OpenVZ/Xen/KVM/VMWare/Hyper-V等方案在其他实例占用CPU过高的时候,对其他实例的影响(部分虚拟化方案,会因为某些实例锁死时间片而使用过高影响其他实例)。
就博客/网站主来说,我们应该使用尽可能更好的资源,但是非土豪的话,资源好到什么程度呢,答曰:够用。
够用是什么程度呢,满足最大的调用程度,且有余力。
这个“有余力”是你对网站/应用的访问量有评估后,并进行压测,观察机器负载得到的。
如果你的网站有大量文件IO/数据库读写操作,那么为了保证最佳性能,不妨尝试使用SSD,或者进行内存缓存等操作,一旦你使用内存缓存,那么整体的性能瓶颈多数情况下会从机器整体性能变为网卡/带宽,是不是可喜可贺。
在正确设置服务器软件配置以满足自己需求场景后,如果你对运行程序优化得当,那么最佳体验应该是内存有30%cache,swap占用极少,或不占用,负载0.5以下。(以防突发流量)
说到压测,不得不继续说下面的话题了。
机房带宽资源带宽资源或许是除了高端存储设备外,价格最贵的资源之一了。所以,评估带宽是否满足你的站点,是特别重要的事情。
一般来说小站点,1~2M的带宽绝对够用。如果不知道你的机器的带宽能力,不妨登录机器后台观察流量图峰值,或者机器安装speedtest-cli,来进行数据收集。
诸如我用过的机器,突发状况下能力为:
Testing from Linode (X.X.X.X)...Selecting best server based on latency...Hosted by T-Mobile (West Norriton, PA) : 79.475 msTesting download speed........................................Download: 53.68 Mbits/sTesting upload speed..................................................Upload: 32.51 Mbits/sRetrieving speedtest.net configuration...Retrieving speedtest.net server list...Testing from HengTian HK DataCenter (X.X.X.X)...Selecting best server based on latency...Hosted by FPT Telecom (Hong Kong) : 28.453 msTesting download speed........................................Download: 77.30 Mbits/sTesting upload speed..................................................Upload: 4.45 Mbits/s观察两者,会发现前者上传比较大,嗯,没错,服务器的上行带宽,即是我们常说的网站带宽,一般而言,此数值越大,提供的访问能力就越强。
但是,综合现实因素,诸如政策和地理位置的原因,网站响应速度和机房有重大关系,比如,BGP机房线路智能负载后的响应时间可以达到10ms甚至以下,或者你可以尝试ping一下自己的本地服务器,响应时间感人,但是在祖国大地,如果你直接访问一些美帝国或者欧洲大陆机房则可能速度会增大几十到几百倍,甚至出现访问不能的状况。


推荐阅读