写点什么

学习总结 -- Week 7

用户头像
吴炳华
关注
发布于: 2020 年 07 月 21 日
学习总结 -- Week 7

性能测试

“性能优化是架构师展示自己技术全面性的时刻“

性能优化应该怎么做?这是本周的课题。当我们谈论性能优化时,我们应该确保有的放矢,从现有系统的性能指标或者新系统的非业务需求入手,切忌空谈。性能测试可以帮助我们了解系统性能指标。

系统性能指标测试方法:

  1. 性能测试:通过不断增加并发量,了解系统性能极限。

  2. 负载测试:当系统达到性能极限时,继续增大并发量,使某些系统资源被完全用尽,以此测试系统在高负载状态下的表现。

  3. 压力测试:在高负载状态下继续增大并发压力,使系统崩溃或者不再处理任何请求,测试系统的最大承载能力。

  4. 稳定性测试:在特定硬件,网络或软件条件下,给系统施加一定压力,观察较长的一段时间,已确定系统是否稳定。

性能指标

  1. 响应时间:客户端从发出请求到收到响应所需时间。

  2. 并发数:系统可以同时处理的请求数量。

  3. 吞吐量:单位时间内系统可以处理的请求数。吞吐量 = 响应时间 * 并发数

  • TPS 每秒事物数

  • QPS 每秒查询数

  1. 性能计数器:CPU,网络带宽使用,内存占用等服务器端系统指标。

性能测试方法

除了自己亲手写脚本(不推荐),也有很多成熟的性能测试软件可供选择,比如 JMeter,Apache ab 等。此处不再赘诉。

性能优化

性能优化的一般方法:

性能测试 -> 指标分析 -> 架构与代码分析 -> 架构与代码优化 -> 性能验证测试

性能优化的分层思想:

  • 机房与骨干网络优化:专线网络,CDN 等。

  • 服务器与硬件性能优化:升级 CPU,磁盘,内存,网卡等。

  • 操作系统性能优化:

  • 虚拟机性能优化

  • 基础组件性能优化:升级 Web 服务器,数据库等。

  • 软件架构性能优化:缓存,异步与集群的应用。

  • 软件代码性能优化:并发编程,异步编程,改进数据结构等。


此外,本周还详细介绍了操作系统的一些核心概念,如进程,线程,锁机制,文件系统等,这些知识都对 trouble shooting 和改进性能有重要影响。这些都是计算机科学专业等基础知识,不再赘诉。


发布于: 2020 年 07 月 21 日阅读数: 100
用户头像

吴炳华

关注

还未添加个人签名 2020.04.08 加入

还未添加个人简介

评论

发布
暂无评论
学习总结 -- Week 7