架构师训练营 第七周 总结
本周课程主要是关于性能测试与性能优化,为了评估一个系统的性能,主要手段就是进行性能测试,只有有了性能测试的结果,才能针对性的做性能优化,不要优化一个没有经过性能测试的系统,也不要去优化一个不熟悉的系统。对于系统的戏能要有正确的认识,并不是用了什么技术性能一定就高,不要拿锤子去砸钉子,而是要去找钉子,即找到问题的关键,再思考如何解决。
如何评估性能
性能测试的主要指标:
响应时间
并发数
吞吐量
性能计数器:System Load、线程数、进程数、CPU、内存、磁盘、网络使用率
如何优化性能
首先要知道的是,决定系统性能的因素有很多,从分层角度来看,从底层环境到中间件再到应用代码,可以大致分为以下几层:
机房与骨干网络性能优化
服务器与硬件性能优化
操作系统性能优化
虚拟机性能优化
基础组件性能优化
软件架构性能优化
软件代码性能优化
一般遇到系统瓶颈可以先考虑在资金允许范围内对硬件性能优化,买更好的网卡、存储设备、服务器、专线等等,通常好的硬件对性能的提升是数量级的提升。也可以考虑寻找适合的中间件和适合的版本,如阿里对基础组件选型对比后节省了三分之一的服务器。因此,不要一开始就用各种复杂的中间件、技术,不要拿锤子去砸钉子,有时候效果不一定有硬件提升带来的效益更好,关键还是在于找到问题所在,用合适的方案解决。
评论