本来想深入看下 php,但是由于看了评论后对 php 产生质疑和动摇的同学,我转贴过一段话,希望能坚定你们的想法。
--------------------------------------------分割线----------------------------------------------
呵呵,本来不想暴露隐私,没想到隐藏下公司名给你带来这么大的猜疑。
那我就说下吧,主要拿事实说话
本人名字叫李亮,是 Workerman 开源框架的作者,曾经在腾讯朋友、QQ 相册、QQ 空间做 Coder 工作。目前在聚美优品工作
1、腾讯朋友
我 2010 年毕业后第一份工作,持续 2 年左右。朋友网的后端开发全部是 PHPer,朋友网使用的 Server (当然不包括底层存储 Server )也几乎都是 PHP 写的,包括 Webserver ( PWS )、SOA 服务器( PSF )、消息队列服务器( SAPS )。这些 PHP 写的 Server 部署超过千台,对,你没看错,超过千台的部署规模,具体可以参见 PHP 技术峰会 韩天峰 的 PPT 介绍或者视频录像。现在去朋友网抓下 http 头,还能看到 Server:Tencent/PWS 标识。
2、QQ 相册
在朋友网任职期间曾负责
photo.qq.com 相册改版工作,同样除了底层存储,其他 Server 全部是用朋友网的那一套 PHP 写的 Server 部署的。由于
photo.qq.com 功能模块不复杂,所有 Server 只部署了十几台支撑了每天 5000W 左右的 pv
3、QQ 空间
QQ 空间的开发都是写 C/C++的,但是同样也部署了不少 PHP 写的 Server,具体部署多少太不详,因为我只在 QQ 空间做了半年的开发。
前一阵看到 CSDN 关于企业 QQ 架构的专访,其中也说到了 PHP 写的 Server 在架构中的各种运用,这个是链接
http://www.csdn.net/article/2014-08-21/2821302-interview-tecent-b-qq-shuai-wang
我目前在聚美优品工作,聚美优品的后端 Server (除了存储)几乎都是基于我写的 PHPServer 运行的,所有业务系统加起来确实有几百台。为何用这么多机器,我想你也应该知道原因了,聚美优品的限时抢购业务决定的,抢购的瞬时请求量非常恐怖,不用这么多机器,网站瞬间瘫痪了。
我待过的两家上市公司都有过这么大 PHP server 的部署规模,相信你不用再猜疑了。
为何这些大公司热衷于 PHP 写的 Server 呢,而不转 golang/erlang, 我想大概有以下原因:
1、首先是 PHP 写的 Server 和 golang/erlang 等语言写的 Server 在性能上没有多大的差距,尤其是业务中涉及频繁的 IO 操作时,比如 mysql 数据库等存储。性能差距一般只有在 CPU 密集型计算时才会显示出来,当然编译型的语言肯定胜出,其他脚本语言差距仍然不太大。
2、大公司某个项目的开发人员众多,当新增一个语言时会给开发工程师和运维工程师以及项目管理带来巨大的挑战和风险
3、PHP 在 Web 容器下运行确实有很大的性能损耗,包括 apache、nginx 等 Web 容器自身的开销、Web 容器与 PHP 通讯的开销,Web 容器下 PHP 自身每个请求周期反复初始化执行环境最后有销毁一切的开销等。为了避免这些问题,使得 PHP 开发者去用 PHP 实现自己的 Server
4、PHP 的开发效率非常高,例如朋友网 20 多个 PHPer 每天都发布版本很多版本,有时候我自己一天都会发布几个版本。使用 PHP 能够快速开发迭代,迅速占领市场。自然用 PHP 写 Server 也会带来开发效率大大提升的好处。
@
zhengkai 说的没错,什么语言适合做什么事情,但我要说的是 PHP 也同样适合写 Server,如果能用合适的又是大家熟悉的语言去做效果会更好。
最后建议 @
zhengkai 不要道听途说,“相信业界主流认识是 PHP 不是用来干这个的”,请实践后再下结论。在我看来腾讯以及我现在所在的公司对 PHP 写的 Server 的大规模部署和实践应该足以说明 PHP 同样适合干这个。
--------------------------------------------分割线----------------------------------------------