秒杀系统的“三高”架构之--高性能

Posted 一只扫地猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了秒杀系统的“三高”架构之--高性能相关的知识,希望对你有一定的参考价值。



如何计算高性能指标?


性能也是影响用户体验的最重要因素之一。对于 ToC 的业务来说,如果请求超过 2 秒返回,会影响用户体验;如果在 5 秒内没有响应,用户可能就会离开。


那性能指标受哪些因素的影响呢?它的影响因素主要有:


  • 用户网络环境


  • 请求/返回数据大小


  • 业务系统 CPU、内存、磁盘等性能


  • 下游资源性能


  • 算法实现是否高效


  • 请求链路长短


怎么计算呢?举个例子,假设某秒杀系统的用户网络环境延迟 100ms,请求/返回数据处理为 10ms,业务服务内操作磁盘 30ms,业务服务请求下游资源 10ms,算法计算 5ms。我们把这些环节的延迟加起来,总共耗时将超过 155ms。


这个数值有什么意义?它说明,从用户发起请求到用户收到服务端返回的结果将超过 155ms。如果超过 150ms 会流失 10% 的用户,这可能是业务方不希望看到的,这个时候我们需要继续优化性能。


当然,不同并发压力下,请求延迟可能不同。通常来说,并发压力越大,平均请求延迟也越大。这好比排队买东西,排队的人越多,最后一个人买东西耗时越长。所以,我们在评估性能的时候,通常需要跟并发指标关联起来。例如,并发低于100万时,平均请求延迟不高于200ms。


通常,在实现完代码后,不一定确保性能满足要求,需要我们做大量的性能测试和性能调优来满足性能要求。


以上是关于秒杀系统的“三高”架构之--高性能的主要内容,如果未能解决你的问题,请参考以下文章

「绝密档案」“爆料”完整秒杀架构的设计到技术关键点的“八卦追踪”

秒杀系统怎么设计?

高性能秒杀系统的设计思考,超详细!

一个秒杀系统的设计思考

设计秒杀系统,应该如何思考?

抗住双11的秒杀系统如何设计?