PHP服务器架构设计
分析:大型网站访问量大(PV),带来的问题?
a.流量大 =>增加宽带,优化程序
b.并发量大(访问量大) => 对程序的架构重新设计、服务器集群
大流量下的程序设计:
1.服务器集群(服务器集群就是指将很多服务器集中起来一起进行同一种服务.)
2.MYSQL优化
a.合理的数据表 =>符合3NF
b.分表[垂直分割、水平分割]
c.读写分离
d.mysql配置优化
e.硬件配置
3.缓存技术(memcached/redis)
大数据量下 >10亿记录 解决方法:
a.表的设计合理
b.分表技术(垂直分割、水平分割)
c.建立索引
d.读写分离
e.mysql配置优化(调整并发量、定时数据库碎片整理、备份crontab)
f.硬件升级
g.页面静态化
h.缓存技术(memcached)
服务器集群中负载均衡(可以称为服务或硬件),其实现原理:大的并发量分布到各个服务器上(哪个服务器空闲就请求到哪个服务器上).
实现方式:硬件实现F5、BIG-IP、NETScalar =>优点:效果好.缺点:费用高
软件:LVS(linux virtual server)、nginx(反向代理)(轮询技术)
轮询技术
原理:有张apache状态表。
apached 状态(cpu/mem)
apache1 40%
apache2 30%
根据这张表的状态,判断访问哪个apache。
- THINKPHP简单介绍
- PHP页面静态化概念