PHP的优点
•每个进程占用内存少,可以多启动一些进程数量,并发处理能力高于Python/Ruby
•基本没有内存泄露的烦恼
–即使应用代码有内存泄露问题,每个请求执行完毕,所有内存对象全部释放,基本不会造成严重后果
PHP的缺点
•每请求的内存管理模型造成PHP性能低下
–每个请求都需要初始化整个应用代码,造成bootstrap速度很缓慢
–重型PHP框架性能不可避免的低下:例如Drupal性能尤其差,必须依赖多种缓存机制缓解性能问题
–PHP社区多采用轻量级框架缓解性能问题
•由于每请求都彻底释放内存,无法实现进程内跨请求共享资源
–通用数据库连接池
–内存字典表
–其他昂贵的需要耗时建立的共享资源
PHP的大型应用
•PHP在大型应用的场景
–由于PHP的内存模型限制,很多大型应用在较早期就会不可避免的遇到PHP的瓶颈
–PHP的瓶颈无法解决,必须调整架构,因此在早期就会引入中间应用层(C++, Java),让PHP退化为View层模板语言
–案例:taobao,facebook,yahoo