写点什么

架构师训练营第 1 期第 7 周学习总结

用户头像
好吃不贵
关注
发布于: 2020 年 11 月 08 日
架构师训练营第 1 期第 7 周学习总结

性能测试

主观视角是用户感受到的性能。客观视角是性能指标衡量出来的性能。不同的视角,有不同的优化手段。

性能测试的指标

不同视角下有不同的性能测试指标,网站的指标主要有响应时间、并发数、吞吐量、性能计数器等。其中响应时间指的是系统发出请求,到最后响应数据所需要的时间。响应时间是系统最重要的性能指标,反应系统的快慢。并发数是系统能同时处理请求的数据,数字也反映了系统的负载特性。对网站而言,并发数是并发用户数,同时提交请求的用户数目,相对应的,还有在线用户数和系统用户数(可能访问系统的用户数量)。吞吐量值单位时间系统处理的请求数量,体现系统的处理能力。网站可以用“请求数/秒”或“页面数/秒”来衡量,也可以用“访问人数/天”或者“处理的业务数/小时”等来衡量。TPS是每秒事务数(Task),HPS是每秒HTTP请求数,QPS是每秒查询数(Query).

吞吐量=(1000 / 响应时间ms) * 并发数

性能计数器包括System Load,对象与线程数、内存使用、CPU使用、磁盘与网络I/O等指标。这些指标也是系统监控的重要参数。Top命令的Load Avg,如果大于CPU的核数,表示CPU过载,小于CPU核数,表示资源利用不足。

软件性能优化的两个基本原则

  1. 不能优化一个没有测试的软件

  2. 不能优化一个你不了解的软件

要先了解系统,了解问题,比掌握技术更关键,要先找到钉子,而不是拿着锤子到处敲。

系统性能优化的分层思想

  1. 机房与骨干网络性能优化

  2. 异地多活

  3. 专线网络及自主CDN建设

  4. 服务器与硬件性能优化(垂直伸缩)

  5. CPU、内存、磁盘、网卡等

  6. 操作系统性能优化

  7. 关闭Transparent huge page等,现在操作系统默认是打开的。

  8. 虚拟机性能优化(垃圾回收、锁)

  9. Stop the world

  10. 基础组件性能优化(比如jBoss等)

  11. 软件架构性能优化

  12. 缓存

  13. 从内存直接获取数据,缓存结果对象,优化读操作。

  14. 异步

  15. 即时响应,更好的用户体验,优化写操作。

  16. 集群

  17. 单一服务器计算能力有限,多台服务器使用起来像一台服务器,解决了资源问题。

  18. 软件代码性能优化

  19. 并发编程,多线程与锁

  20. 资源复用,线程池与对象池

  21. 异步编程,生产者与消费者

  22. 数据结构,数组、链表、hash表和树

用户头像

好吃不贵

关注

还未添加个人签名 2018.11.20 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 1 期第 7 周学习总结