架构师训练营—第七周学习总结
主题:性能测试与优化
第七周主要是性能测试相关方面的内容。虽然我在工作中使用的 C 语言,这个课程中是 JAVA 的,但是本质上很多栈,锁的概念是一样的。
性能调优是建立在对系统的体系架构全面熟悉的基础之上,对软硬件各方面的设置和关联进行调整优化,使整个系统能够发挥出最大的效能,从而能高效支撑业务的开展。
两个基本原则
你不能优化一个没有测试过的软件
你不能优化一个你不了解的软件
性能优化关注以下几点
机房与骨干网络性能优化(带宽)
服务器与硬件性能优化(cpu,内存,i/o)
操作系统性能优化
虚拟机性能优化(jvm 参数设置)
基础组件性能优化(mysql 数据库参数设置等)
软件架构性能优化(缓存,负载均衡,读写分离,分布式存储等)
软件代码性能优化(锁,多线程,设计模式,算法)
在项目编码完成之前,我们没有必要过于关注性能优化,只要确保不发生显而易见的编码错误即可(比如 IO 资源释放,没有缓存直接访问数据库等等),在项目编码基本完成后,我们可以根据需求分析报告中的具体指标要求进行压力测试,根据结果去进行系统性能优化。
评论