架构师训练营第七周总结

发布于: 2020 年 07 月 22 日

本周学习的主要内容有:

  • 性能测试

  • 性能优化

  • 操作系统

  • 文件系统



在性能测试中,主要学习的是如何做性能测试,包括如何判断性能是否符合预期,如何找到最大负载点,以及并发数跟响应时间、吞吐量的关系。(本部分内容包含在本周作业中)



性能优化中,学到最重要的一点是要用指标说话,不能优化没有经过测试的系统。没有一个量化的基准,即使你的优化确实能提高性能,因为没有对比,也就没有办法量化所做的提升到底有多少,同时缺乏量化思维也是架构过程中的大忌。

另外,性能优化是分层的,要找到性能问题的root cause,到底是CPU的瓶颈还是内存的瓶颈,或者只是网络和IO的瓶颈?找到最终的原因才能针对性的进行优化。



操作系统,其实主要讲解的是程序是如何在操作系统中运行的。即使我们自己的程序没有写任何多线程相关的代码,我们也会用到web容器的多线程(每个请求就会使用不同的线程),那么我们的程序是如何分配内存已经方法如何运行。由此也引申出“锁”,什么时候需要引入锁,已经锁的工作原理是怎么样的,锁如何膨胀。锁的概念不只应用于多线程中,在分布式系统中同样有广泛应用,比如并发修改缓存也需要获得一个分布式锁。



最后讲了文件系统,最重要的是理解了很多文件系统的设计其实是跟当时的硬件相关,一直沿用至今。文件控制块的概念让我理解了文件内容是如何存储在硬盘上的,同时也理解了为什么有单个文件大小限制的问题。最后引申出分布式文件系统,其实本质上跟操作系统的文件没有区别,只不过用nameNode来代替文件控制块,同时用dataNode来代替操作系统中的文件数据块而已。(同时有分布式标准的高可用,通过数据冗余来实现)

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

sunnywhy

关注

还未添加个人签名 2019.04.25 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第七周总结