大力出奇迹,成本降低80%


大力出奇迹,成本降低80%_第1张图片



谁会想到呢?

著名的Basecamp产品将内存缓存改成使用DB作为缓存媒介后,缓存的读取速度慢了约40%。比如从Redis读取缓存内容时,只需要 1 ms,改成从DB读取后,读取速度变成1.4 ms。

谁会想到,这让缓存的成本降低了80%,并且缓存使用的空间还是原来的6倍的情况下。

为什么呢?

Basecamp严重依赖 fragment caching 技术,即将HTML片段直接存储在缓存中。这意味着他们需要的缓存空间非常大。

诚然,内存访问速度的确几倍快于磁盘访问速度,但是,速度本身除了包括内存操作时间,还包括网络传输时间、序列化时间、压缩时间。而且DB本身内建有内存缓存。

个人猜测是因为Basecamp缓存的内容的体积较大,内存缓存的优势被降低了,所以,使用DB缓存也就理所当然了。

但是是有前提的

Basecamp这样做能做到降本是有其前提的,我们不能盲目模仿。但是值得去学习其中的经验。

降低速度所带节约下来的成本,从业务上是否是值得的?你总不能因为降低速度节约100万的成本,却因为速度导致失去用户而损失200万。这个问题的本质是用户对于那零点几毫秒的速度是否在意。

另一个角度,Basecamp缓存的是fragment,缓存单元大小和规模是否要达到一定程度,才能把DB缓存的成本优势发挥出来。

总之,如果要模仿,需要谨慎评估与操作。

为什么Basecamp能想到这种方法降本?

软件行业里流行着一个说法:当加载时间从a秒增加到b秒时,跳出(访问者立即离开)的概率将增加x%。

这个说法深入软件行业从业者的心。从各大厂的面试题就可以体会出来,从来都是考核如何更快。

所以,我才觉得这是降本增效奇技,因为思维惯性,很难想到:接受速度降低,以实现降低成本。

为什么Basecamp公司能想到这个方法?这是我非常感兴趣的问题。

有以下几种可能:

  • • 是DHH(Basecamp老板)主动想到的?

  • • 是员工想的?员工为什么能想到?

关于Solid Cache的原文:https://dev.37signals.com/solid-cache/

关注我,还有更多降本增效文章等着你哦。

往期好文推荐:

  • 我是如何进行日志降本的

  • 比构建速度,Bazel是Gradle的10倍,不服不行!!!

你可能感兴趣的:(大力出奇迹,成本降低80%)