大型网站优化方向(概述)

版权声明:版权所有,翻版必究 https://blog.csdn.net/qq_30118843/article/details/82527875

大型网站优化方向(PHP项目)

为了更好的理解优化方向,我们先来了解一下PHP项目的执行流程:
这里写图片描述

【说明】
PHP实现的核心Zend引擎必须从文件系统读取文件、扫描其词典和表达式、解析文件、创建要执行的计算机代码(称为Opcode),最后执行Opcode

【简单理解】
读取源码 -》 词法分析 -》 创建opcode -》 执行opcode 重复创建会增加额外的内存和CPU开销,那么该如何解决?

【解决方案】
安装ZendOptimizer或APC2.0等可以加速PHP代码访问,主要用于缓存opcode而不是每次重复编译减少CPU和内存开销(php5.5+后不需要安装第三方软件,直接开启PHP配置文件中Opcache即可。

具体步骤详见https://blog.csdn.net/qq_30118843/article/details/82528024

下面我们进入正题,大型网站的优化方向:

1)代码优化

开启opcode缓存,减少额外CPU和内存开销,加快代码运行速度
尽量使用单引号替换双引号
重模型轻控制器,减少冗余
符合PHP-FIG规范和phpDoc规范,增强代码可读性&可扩展性有利于团队开发
类: 花括号独占一行
类中方法:华括号独占一行
类名:大驼峰
方法名:小驼峰
命名空间:后面空一行
常量名:大写,多个单词用下划线分割

2)数据库优化

架构:主从复制、读写分离
设计:存储引擎、字段类型、三范式
功能:缓存、分区、索引

3)缓存优化

好处:
减少数据库查询,将数据缓存到文件或内存中,加快查询数据
实现:
内存(memcache、redis)
文件(使用TP3.2的大S或大F方法 TP5中Cache类)
数据库

4)架构优化

负载均衡、集群、动静分离、读写分离、主从复制、CDN加速等

负载均衡:将用户的请求分配给多个服务器处理(轮着来,ip哈希)
集群:多个服务器实现相同的业务
动静分离:将静态资源单独放一台服务器
主从复制: insert/update/delete到主服务器执行,所有从服务器检测大主服务器有写入数据则自动同步
读写分离:通过PHP判断,如果是insert/update/delete交给主处理,如果是select交给从
CDN加速:将静态资源缓存到用户所在城市,加快访问速度

猜你喜欢

转载自blog.csdn.net/qq_30118843/article/details/82527875
今日推荐