美文网首页PHP的学习
大流量后端架构优化手段整理

大流量后端架构优化手段整理

作者: 陈钢镚学财 | 来源:发表于2017-03-22 11:08 被阅读78次

    大流量,是大多数项目期待的效果,同时也是大多后端技术岗需要面对的一个挑战。今天我把我学习时收集到相关技术手段进行整理,脑图如下:

    大流量后端架构优化手段.png

    如图所见,可以想到一个逻辑:

    大流量 等同于 请求量大
    请求量大 引起 高并发
    请求量大 同样引起 数据量大
    高并发(时间段内需要处理的事多)产生 容器与数据库负载
    数据量大 产生 数据库负载

    综上所述,可以总结出最后两个问题:

    • 容器负载
    • 数据库负载

    说白了,就是负责解析服务端脚本的容器(apache或php-fpm)的压力很大,还有mysql的压力很大。

    那么,我们就需要想办法解决它们的压力。

    先说说mysql:

    • 减少操作mysql的次数
    • 当我们使用缓存技术、页面静态化技术,可以减少对mysql的访问次数,这个非常重要,假设请求量是一百万,如果每次都查询数据库,则不仅容器处理了一百万次请求,数据库也处理了至少一百万次操作(一次对容器的请求,可能涉及到多次数据库操作),这个时候如果合理利用了静态化技术,虽然没有减少容器的压力,但却大大减少了mysql的压力。
    • 提升mysql的处理效率
    • 包括索引优化、配置优化、分表技术、硬件升级,都是提升mysql处理效率的有效手段,当然,更重要也是最基本的,是设计一个合理的表结构
    • 减轻mysql服务的压力
    • 当一个人干不过来的事,那就多找几个人来干,谁都知道这个道理。所以,读写分离(均衡负载)是非常有效的手段。

    再说说容器:

    • 优化程序
    • 至少别让程序做一些毫无意义的事,优化算法和优化逻辑。
    • 均衡负载
    • 硬件的解决,效果显著,立竿见影,但是费钱。软件的解决则普遍依靠nginx来解决。

    另外,除了优化这些压力意外,我们还必须面对大流量引起的一个问题——带宽。
    通常情况下,除了优化带宽开支(如使用对象存储、压缩资源等)和提升带宽意外,好像我也没有想到什么别的办法了。

    总结


    本文主要整理了一下“大流量后端架构”的优化手段,以填充后端开发人员的解决思路。在有些公司,均衡负载、读写分离可能是运维的事情,但作为后端,而且对技术有一种特殊的执着,我还是认为有必要对这些有了解,更应该去亲手实践一下。

    本文来自半醒的狐狸博客

    相关文章

      网友评论

        本文标题:大流量后端架构优化手段整理

        本文链接:https://www.haomeiwen.com/subject/wjtonttx.html