QPS等技术指标学习

背景:正在学习中台相关知识,需要对技术名词进行学习。

目的:学习常用性能指标

本次了解范围:QPS、TPS、并发数、响应时间

一、基本概念

1、响应时间RT(Reaction Time)一般取平均响应时间

      指系统对请求做出响应的时间,讨论响应时间时应该考虑最大响应时间和平均响应时间,响应时间需要根据业务场景来定,如游戏一般响应时间再100ms以下比较优秀,1s左右勉强可以接受;视频加载、电商网站浏览等不同场景决定不同的响应时间。

2、吞吐量TPS(Throughput)

     吞吐量是指单位时间内处理请求的数量。无并发的系统,吞吐量和响应时间成反比;并发系统,通常需要用吞吐量作为性能指标。

     一般而言,吞吐量是一个比较通用的指标,两个具有不同用户数和用户使用模式的系统,如果其最大吞吐量基本一致,则可以判断两个系统的处理能力基本一致。

3、并发用户数

    并发用户数是指系统可以同时承载的正常使用系统的用户数量。并发用户数是更加直观更加笼统的性能指标。

     并发用户数是系统可以同时承载的用户数量,但是用户不同的使用模式会导致并发用户数不同(参考注册用户,访问网页用户,请求用户)。所以,一般情况下以同时发送请求用户数作为性能指标更加准确些。

4、QPS 每秒查询率(Query Per Second):每秒钟request/事务 数量

      QPS是衡量服务器性能的指标,QPS=并发量/响应时间,一般用每秒查询率进行衡量,即每秒的响应请求数量。

 5、并发数:系统同时处理的request/事务

举个例子:

银行窗口业务,早上8点上班,窗口数量为10个窗口,平均每个人办理业务的时候为5分钟。可以用下面的方法计算。

并发数=10个窗口

平均响应时间为 = 5*60 秒

QPS = 10/(5*60) 事务/秒

二、QPS如何提升

系统的吞吐量一般由并发数和响应时间决定,所以需要增加并发数,或者减少平局响应时间

①增加并发数

1.比如增加tomcat并发的线程数,和服务器性能匹配的线程数,可以更多满足服务请求。

2.增加数据库的连接数,预建立合适数量的TCP连接数

3.后端服务尽量无状态话,可以更好支持横向扩容,满足更大流量要求

4.调用链路上的各个系统和服务尽量不要单点,要从头到尾都是能力对等的,不能让其中某一点成为瓶颈。
5.RPC调用的尽量使用线程池,预先建立合适的连接数。

②减少平均响应时间

1.请求尽量越前结束,越好,这样压力就不要穿透到后面的系统上,可以在各个层上加上缓存

2.流量消峰。放行适当的流量,处理不了的请求直接返回错误或者其他提示。和水坝道理很类似

3.减少调用链

4.优化程序

5.减少网络开销,适当使用长连接

6.优化数据库,建立索引

 

通俗的讲,如果需要提高并发,需要程序优化,买服务器提高性能,增加带宽提高传输效率,增加缓存将压力前置。

 

参考:

1、博客园 立峰  https://www.cnblogs.com/data2value/p/6220859.html

2、掘金  AskHarries  https://juejin.im/post/5af645f651882567105fd1b2

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值