开题:163,sina,sohu等网站他们有很多应用程序都是PHP写的,为什么他们究竟是如何能做出同时跑几千人甚至上万同时在线应用程序呢?
- 挑选性能更好web服务器
- 单台 Apache web server 性能的极限
- 选用性能更好的web server TUX,lighttpd,thttpd …
- 动,静文件分开,混合使用
- 应用程序优化,Cache的使用和共享
- 常见的缓存技术
- 生成静态文件
- 对象持久化 serialize & unserialize
- Need for Speed ,在最快的地方做 cache
- Linux 系统下的 /dev/shm
- tmpfs/ramdisk
- php内置的 shared memory function /IPC
- memcached
- MySQL的HEAP表
- 多台主机共享cache
- NFS,memcached,MySQL 优点和缺点比较
- 常见的缓存技术
- MySQL数据库优化
- 配置 my.cnf,设置更大的 cache size
- 利用 phpMyAdmin 找出配置瓶颈,榨干机器的每一点油
- 集群(热同步,mysql cluster)
- 集群,提高网站可用性
- 最简单的集群,设置多条A记录,DNS轮询,可用性问题
- 确保高可用性和伸缩性能的成熟集群解决方案
- 通过硬件实现,如路由器,F5 network
- 通过软件或者操作系统实现
- 基于内核,通过修改TCP/IP数据报文负载均衡,并确保伸缩性的 LVS以及 确保可用性守护进程ldirectord
- 基于 layer 7,通过URL分发的 HAproxy
- 数据共享问题
- NFS,Samba,NAS,SAN
- 案例
- 解决南北互通,电信和网通速度问题
- 双线服务器
- CDN
- 根据用户IP转换到就近服务器的智能DNS,dnspod …
- Squid 反向代理,(优点,缺点)
- 案例
PPT 下载地址:http://pub.yening.cn/w/peash-2007-3-25.ppt