1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| 压测常用的性能指标 每秒处理事务(TPS,Transaction Per Second)每秒系统处理事务(通过、失败以及停止)的数量。通过它可以确定系统在任何给定时刻的时间事务负载。 每秒查询率(QPS,Queries Per Second)一台服务器每秒能够响应的查询次数。通过它可以确定系统的最大吞吐能力。 并发用户数(Number of Concurrent Users)同一时间点请求服务器的用户数。 最佳并发用户数(The Optimum Number of Concurrent Users)随着并发量的增加,吞吐量(每秒处理事务)不再相应增加,并且响应时间继续增长。 事务平均响应时间(Average Transaction Response Time) 每一事务执行所用的平均时间,通过它可以分析测试场景运行期间应用系统的性能走向。 最大响应时间(Max Response Time) 指用户发出请求或者指令到系统做出反应(响应)的最大时间。 最少响应时间(Mininum ResponseTime) 指用户发出请求或者指令到系统做出反应(响应)的最少时间。 90%响应时间(90% Response Time) 是指所有用户的响应时间进行排序,第90%的响应时间。 CPU(CentralProcessing Unit) 中央处理器,是计算机的重要设备之一。功能主要是解释计算机指令以及处理计算机软件中的数据。 CPU利用率(CPU Usage) CPU利用率分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间。平时所说的CPU利用率是指:CPU执行非系统空闲进程的时间/CPU总的执行时间。 内存(Memory) 也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。 内存使用率(Memory usage) 内存占用率指的是此进程所开销的内存。 磁盘IO(Disk input/ output) 磁盘的读写包速率。 网卡负载(Network Load) 网卡的进出带宽,包量。
测试工具资源占用消耗: CPU : 内存: 并发量:
apache-jmeter-5.4.1_src.zip
采样器: 录制请求,生成请求 断言 监听器可放在线程组内,也可放在外面 线程组: 线程数(多个),循环次数 线程组:可以配置多个 支持master-slave模式
测试任务:可以配置多个不同的线程组 线程组: 可以配置不通线程数*循环次数, 测试不同的请求 请求: 配置断言和超时时间
ab: httpd-2.4.51.tar.bz2 它的扩展性比较低,用来测试post get接口请求非常便捷,但只能提供基本性能指标,没有图形化结果,无法监控
jemter/ab 多线程,阻塞IO 并发量可以通过线程数增加,线程之间隔离较好,但线程数过多,切换消耗会变大,效果变差
httperf-master.zip 撸代码
wrk: http测试,c/lua 少量线程: 异步IO,发包时阻塞,收包非阻塞
siege-master.zip 多线程,类似ab 模拟n个用户不停地访问某个URL的场景
http_load-09Mar2016.tar.gz 单进程复用, 最多3千连接
webbench: 多进程 fork出子进程进行测试 最多3万连接
vegeta-master.zip go
locust: python 协程 gevent
ostaw32-src-1404.zip
|