你好,我是庄振运。
在开篇的几讲里,我谈了性能工程的重要性以及所需要的知识面,接下来我们就正式地进入相关的学习。
不过不要着急,第一个模块我们并不会直接进入性能问题的现场,一上来就去解决问题,而是要先耐下心来,学习一些必备的基础知识。为什么呢?因为学习任何事情,打好坚实的基础是至关重要的。
古人云:“合抱之木,生于毫末;九层之台,起于累土。”
所以接下来的几讲,我们需要先学习一些基础知识,包括和性能工程相关的几个重要定律法则和数理基础。这一讲我先和你探讨三个定律法则:帕累托法则、阿姆达尔定律和利特尔法则。
帕累托法则
我想你可能知道帕累托法则,它也被称为 80/20 法则、关键少数法则,或者八二法则。
这个法则是基于我们生活中的认识产生的,人们在生活中发现很多变量的分布是不均匀的——在很多场景下,大约 20% 的因素操控着 80% 的局面。也就是说,所有的变量中,比较重要的只有 20%,是所谓的“关键少数”。剩下的多数,却没有那么重要。
举例来讲,在企业销售中,根据帕累托法则,大约“80%的销售额来自 20%的客户”。认识到这一点对企业管理至关重要,比如需要重视大客户的关系。
虽然帕累托法则在生活中很多方面都适用,但我们今天的重点是来看看帕累托法则是怎么应用到我们 IT 界的,尤其是怎么指导我们的代码开发和性能优化相关的领域的。