基本概念

首先您需要了解什么是并发用户、TPS 和它们之间的关系。

  • 并发用户:指的是现实系统中同时操作业务的用户,在性能测试工具中一般称为虚拟用户(Virutal User)。一般是站在客户侧评估的角度,但是不便于服务端的一些容量评估和高可用评估。

    并发用户跟注册用户、在线用户有很大差别。并发用户一定会对服务器产生压力,在线用户数只是 “挂” 在系统上,对服务器不产生压力,而注册用户一般指的是数据库中存在的用户。

  • TPS:Transaction Per Second, 每秒事务数, 是衡量系统性能的一个重要指标。在 PTS 中,为了直接评估TPS,也可以采用RPS(Request Per Second,每秒请求数)设置压测流量的大小。RPS模式更适合容量规划和作为限流管控的参考依据。

  • 再看一个例子:假如 1 个虚拟用户在 1 秒内完成 1 笔事务,那么 TPS 就是 1。要想达到 1000 TPS 至少需要1000 个用户;如果某笔业务响应时间是 1 毫秒,那么 1 个用户在 1 秒内能完成 1000 笔事务,TPS 就是 1000。

    因此 1 个用户可以产生 1000 TPS,1000 个用户也可以产生 1000 TPS,主要看响应时间的快慢。

设置目标并发(或RPS)

对于并发用户数的评估:

  • 可以选取线上系统在高峰时刻一定周期内使用系统的人数,这些人数可以认为是在线用户数,并发用户数取其 10% 就可以了。例如在 1 小时内使用系统的用户数为 10000,一般建议取 10% 左右作为并发用户数。

  • 未上线系统或新上线系统:因没有历史数据可供参考,故只能通过业务发展趋势来预判各项指标。

对于 TPS(RPS)的评估:

  • 线上系统:通过线上系统在高峰时刻 10 分钟内完成的业务量,计算出在单位时间内的处理笔数,即 TPS(RPS) = 业务笔数/单位时间(10*60,以秒为单位)。

  • 未上线系统或新上线系统:因没有历史数据可供参考,故只能通过业务发展趋势来预判各项指标。

最新文章

  1. Android Weekly Notes Issue #230
  2. 函数:MySQL中字符串匹配函数LOCATE和POSITION使用方法
  3. Hyperledger区块数据的访问
  4. git command
  5. C#获取ftp文件最后修改时间
  6. web.xml常用元素
  7. MVC Filter自定义验证(拦截)
  8. 在nltk中调用stanfordparser处理中文
  9. string用法总结
  10. Centos7 安装 scrapy
  11. awk骚操作
  12. 2189 ACM 母函数 素数
  13. python---windows下安装和使用memcache
  14. pandas简单应用
  15. JAVA中String字符串比较equals()和equalsIgnoreCase()的区别
  16. 深度学习(六十四)Faster R-CNN物体检测
  17. 【codevs1380】没有上司的舞会 树形dp
  18. attempt to index a nil value (global 'luasql')
  19. HihoCoder1445 重复旋律5(后缀自动机)
  20. 无类型指针 在delphi中可以直接赋值任何指针类型。

热门文章

  1. Suricata的初始化脚本
  2. js数据类型之判断
  3. Kotlin学习的一些心得
  4. ubuntu破解密码方法
  5. codevs 5438 zbd之难题(水题日常)
  6. Android主题更换换肤
  7. uva1380 A Scheduling Problem
  8. Node + Express + MySQL 接口开发完整案例
  9. function语句注意事项
  10. ERROR: HHH000091: Expected type: java.sql.Timestamp, actual value: java.lang.Integer