高性能应用的测试、监控与优化指南
1. 测试类型
在进行应用测试时,不同类型的测试有着各自的特点和作用。
- 负载、压力和耐力测试
- 测试特点 :每次测试运行仅代表其执行的时间段,重复运行可确定其一般行为。由于一个操作可能有多种预期负载场景,所以需要在不同负载场景下重复测试。简单的测试运行可能无法展现操作的长期行为和响应,长时间在不同高负载下运行测试,有助于观察在短测试周期中可能不出现的异常行为。
- 压力测试 :当对一个操作在远超其预期延迟和吞吐量目标的负载下进行测试时,就是压力测试。其目的是确定操作在超出其设计的最大负载时的合理行为。
- 耐力测试 :观察操作在长时间(通常为几天或几周)运行时的行为,这种长时间测试称为耐力测试。压力测试检查操作的优雅行为,而耐力测试检查操作在长时间内的一致行为。
- 测试工具 :有多种工具可用于负载和压力测试,如下表所示:
| 工具名称 | 语言 | 特点 |
| — | — | — |
| Engulf | Clojure | 分布式基于HTTP的负载生成工具 |
| Apache JMeter | Java | Java 基于的负载生成工具 |
| Grinder | Java | 可使用 Clojure 脚本编写,Java 基于的负载生成工具 |
| Apache Bench | - | 用于 Web 系统的负载测试工具 |
| Tsung | Erlang | 可扩展
超级会员免费看
订阅专栏 解锁全文
1736

被折叠的 条评论
为什么被折叠?



