说说你对高可用,高吞吐,低延迟的理解

561 阅读2分钟

分析&回答

高可用(HA):直白来说就是系统不会因为某台机器,或某个实例挂了,就不能提供服务了。高可用需要做到分布式、负载均衡、自动侦查、自动切换、自动恢复等。

高吞吐: 单位时间内,能传输的数据量,对应指标就是TPS

TPS VS QPS

TPS: Transactions Per Second,意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。

以单接口定义为事务为例,每个事务包括了如下3个过程:

  1. 向服务器发请求
  2. 服务器自己的内部处理(包含应用服务器、数据库服务器等)
  3. 服务器返回结果给客户端

如果每秒能够完成N次这三个过程,TPS就是N;
如果多个接口定义为一个事务,那么,会重复执行abc,完成一次这几个请求,算做一个TPS。

QPS: Queries Per Second,意思是每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询sql的次数),显然,这个不够全面,不能描述增删改,所以,不建议用qps来作为系统性能指标。

总结: QPS=N*TPS 、QPS 不包括插入、更新、删除操作.

低延迟: 对一个请求,多长时间内能给相应,对应指标是rt : response time

对于一些实时性的系统的衡量

反思&扩展


喵呜面试助手: 一站式解决面试问题,你可以搜索微信小程序 [喵呜面试助手] 或关注 [喵呜刷题] -> 面试助手 免费刷题。如有好的面试知识或技巧期待您的共享!