你好,我是庄振运。
从今天开始,我们进入新的模块:性能工程实践。在这一模块中,我会讲述在实际生产环境中应用性能工程的场景、案例。这些场景和案例都是针对大规模互联网服务,是在解决实际性能问题后总结的经验。
今天我要讲的主题是“在生产环境中进行真实场景的压力测试”。这来源于我对 LinkedIn 公司生产实践的总结。
LinkedIn 为超过 5.9 亿用户提供服务,在性能优化的过程中,经常会遇到这类问题:一个服务可以承受的最大 QPS 是多少?要满足 100K QPS 的服务需求,我需要多少服务器?……
怎么解决这些问题呢,有一个大招就是在生产环境中进行真实的容量测试。
关于这个实践的详细方案和技术细节,我们曾经发表过一篇研究论文(IEEE ICWS),并且很荣幸地获得了 IEEE 最佳论文奖,推荐你去读一读。 今天我就带你从这个场景的源头出发,一步步探索到最后的具体落地方案。
为什么需要在生产环境中进行容量测试?
既然我们要解决一个具体的问题,那我们一定要先问个“为什么”。
为什么要在生产环境中进行容量测试呢?要回答这个问题,我们还得再往前追问,为什么说真实的容量测试很重要呢?
我想这个问题不难回答,你应该已经有自己的答案了。
我们都知道,一个在线互联网公司的存活和发展,靠的是它提供的互联网在线服务,自然也就依赖于这些服务的性能和稳定性。要保证每个服务都能够稳定地运行,我们必须为之提供足够的服务容量,比如适当数量的服务器。