《大型网站技术架构--核心原理与案例分析》阅读笔记

发布时间 2023-11-13 09:25:13作者: 普信男孩阿洲

这本书组织的很不错,语言精练,篇幅也不长,对网站架构的要点讲的狠清楚透彻,思路清晰。主要围绕架构的五个要点:性能、高可用、伸缩性、扩展性、安全性。令人印象非常深刻。而且李智慧老师深谙职场之道,后面一些关于技术人的建议也让人受用无穷。

事物发展到一定阶段,就会拥有自身的发展冲动,摆脱其初衷,向着使自己更强大的方向发展。既然大型网站架构解决了海量数据的管理和高并发事务的处理,那么就可以把这些解决方案应用到网站自身以外的业务上去。(云计算)。技术是用来解决业务问题的,而业务问题,也可以通过业务的手段来解决。对模式的灵活运用,在于对问题和需求本质深入的理解,技术不足为虑。问题的实质才是关键。搞清楚问题,问题也就解决了一半。不要一味地陷入技术中,技术早已被前人转化为经验模式,善于站在巨人的肩膀上解决问题,才能让自己的境界提高。这不是对技术的轻视,而是对技术的尊重—技术的经验模式就应该被用于解决重复存在的问题。

       性能、可用性、伸缩性、扩展性和安全性是网站架构最核心的几个要素,这几个问题解决了,大型网站架构设计的大部分挑战也就克服了。
        通过仔细的研读本书的第三章和第四章,我深刻的了解了性能的基本概念。网站性能是客观的指标,可以具体体现到响应时间、吞吐量等技术指标,同时也是主观的感受,而感受则是一种与具体参与者相关的微妙的东西,用户的感受和工程师的感受不同,不同的用户感受也不同。网站是需要经过大众审判的,统计过不同人群的感受即使用样本情况可以大概的了解网站的性能(响应时间、吞吐量等你等)。

       用户视角的性能:就是用户在浏览器上直观感受到的网站响应速度快还是慢。

       开发人员眼中的性能:响应延迟、系统吞吐量、并发处理能力、系统稳定性等

      相关的优化手段有:缓存加速读取、使用集群提高吞吐能量、使用异步消息加快请求响应及实现削峰、使用代码手段优化

      运维人员视角的性能主要是基础设施性能和资源利用率,包括:网络运营商的带宽能力、服务器硬件配置、数据中心网络结构、服务器和带宽的资源利用率

     主要优化手段:建设优化骨干网、高性价比定制服务器、利用虚拟化技术优化资源

      性能测试指标主要有:*响应时间、并发数、反映系统的负载特性即网站系统用户数>>网站在线用户数>>网站并发用户数、吞吐量,体现系统的整体处理能力,TPS、HPS和QPS、性能计数器

性能测试方法:

性能测试——性能预期测试
负载测试——安全临界值测试
压力测试——最大压力承受能力测试
稳定性测试——长时间运行稳定性测试
性能优化策略:

​ 思路:如果性能测试结果不满足设计或业务需求,那么就需要寻找系统瓶颈,分而治之,逐步优化

1,性能分析

基本方法:检查请求处理的各个环节日志,分析哪个环节响应时间不合理、超过预期;然后检查监控数据,分析影响性能的主要因素是内存、磁盘、网络或CPU,是代码还是架构设计不合理,或者系统资源确实不足。

2、性能优化

根据网站分层架构,可分为Web前端性能优化、应用服务器性能优化、存储服务器性能优化。

      对于网站而言,性能符合预期仅仅是必要条件,因为无法预知网站可能会面临的访问压力,所以必须要考察系统在高并发访问情况下,超出负载设计能力的情况下可能会出现的性能问题。网站需要长时间持续运行,还必须保证系统在持续运行且访问压力不均匀的情况下保持稳定的性能特性。