第七周 - 性能优化

发布于: 16 小时前

周总结

性能测试指标

  1. 响应时间

  2. 并发数

  3. 吞吐量(单位时间内系统处理请求的数量)

  4. 性能计数器(性能的数据指标,包括SystemLoad、对象与线程数、内存使用率、CPU使用率、磁盘与网盘I/O等指标)

性能测试方法

  1. 性能测试:验证系统在资源可接受范围内,是否能满足预期的性能指标。

  2. 负载测试:测试系统某项或多项性能指标的安全临界值(资源饱和)

  3. 压力测试:在系统崩溃或无法处理请求时的性能指标数值。

  4. 稳定性测试:测试系统在特定硬件、软件、网络环境下,负载一定特征的业务压力运行较长时间,检测系统是否稳定。

性能优化

性能优化的一般方法

  1. 性能测试获取性能指标

  2. 分析指标数据,发现性能与资源瓶颈点

  3. 架构与代码分析,寻找性能与资源瓶颈的关键

  4. 架构与代码段,段关键技术点,平衡资源利用

  5. 重复1~4步,直到满足要求

系统性能优化分层思想

  • 机房与骨干网络性能优化

  • 服务器与三和人性能优化

  • 操作系统性能优化

  • 虚拟机性能优化

  • 基础组件性能优化

  • 软件架构性能优化

  • 软件代码性能优化

操作系统

进程与线程模型

  • 了解锁的原语(最小不可中断操作)

  • 了解各种锁的特征以及JVM锁实现机制



问题一

性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?

答:随着并发压力的增加,系统的响应时间在系统的性能承受能力的临界点之内速度不会有太大变化,吞吐量则会增加,单位时间内系统处理的请求变多了。

当随着并发压力变大到系统性能承受能力的临界点之外时,系统响应时间变慢,因为创建的线程数已经超出系统能承受的范围内,且线程切换上下文也会耗费资源,吞吐量随之下降。



问题二

用你熟悉的编程语言写一个 web 性能压测工具,输入参数:URL,请求总次数,并发数。输出参数:平均响应时间,95% 响应时间。用这个测试工具以 10 并发、100 次请求压测 www.baidu.com



用户头像

WulalaOlala

关注

还未添加个人签名 2019.05.14 加入

还未添加个人简介

评论

发布
暂无评论
第七周-性能优化