保华的Rails学习笔记

Refactor效能提升

效能提升基础概念

说到网站效能提升,一个网站大概分成几个结构

网站放置主机的地方(美国,日本,北京,等等等等)
前端代码结构(CSS/JavaScript)
后端代码结构
Ruby Code 效能
数据库的效能
那我们从哪里入手进行优化呢?
做优化,我们也要有最有效率的地方做起
也就是得从我们的「注意力」可以换取最高的网站提升效率速度来考虑优先级,「一天能够提升的有感速度」。
首先,地理位置是一定会对开启速度造成差异的。
例如,我们在中国访问heroku(它服务器在美国),速度明显很慢,可是我们访问天猫、京东等,明显速度快许多

网站代码产生网页的速度 + 下载网页的速度 + 下载素材的速度
网站代码产生网页的速度(通常在100ms-200ms)
下载网页(通常一张网页约 100-200KB)
下载素材 x 15(通常一张网页大约有 15 个以上素材)
由这个公式我们会总结出

下载所需时间 > (远大于)网页生成时间
如果你的网站放在美国(如 Heroku),素材又很多的话,网站会巨慢

调整前端架构或搬机器比起调整后端代码或数据库架构来说,性价比远远为高。

但是,搬机器的地理位置手续非常复杂,特别是机器往往不是一台的,而是一组的,依据地理位置分配资源的技术与架构实做起来会非常复杂。所以我们这种「个体户程序员」,提速的方向往往会以「修正前端架构」去思考。