PHP会在网页开发世界中消亡吗?

时间:2010-04-27 10:56:39

标签: php performance scalability c10k

我知道PHP仍然是世界上最流行的网络编程语言。这个问题只是想提出一些关于PHP的问题。

PHP自然绑定到C10K problem。由于PHP(通常在Apache中运行)不能是事件驱动的或异步的,因此每个HTTP请求将占用至少一个线程或进程。这使得它更具可扩展性。

目前,许多具有高性能和可扩展性的网站(如Facebook和Yahoo!)仍然依赖于前端服务器中的PHP。我想这是遗留原因造成的。是否有可能用更适合C10K的语言替换PHP?

3 个答案:

答案 0 :(得分:16)

  

PHP是否有可能被更适合C10K的语言所取代?

我会说非常不太可能。

别介意Facebook或雅虎,绝大多数网站甚至都没有接近那个受欢迎的阶段。大多数Web程序员正在开发中小型项目,其中不需要真正的高性能,并且通过在问题上投入更多硬件而不是雇用更多程序员来提高效率,可以更有利地实现额外性能。 / p>

专家级高性能套接字服务器的编码比乱砍PHP脚本更难,更慢,因此PHP(*)总是会赢。让我们面对它,很可能在每个并发连接的一个线程或进程的低效开始咬之前,你会遇到其他扩展问题(可能是数据库性能)。

C10K?对于绝大多数应用程序,你不需要它。

(*:或其他类似的脚本环境。由于PHP6崩溃和PHP5继续存在Unicode问题以及其他长期存在的语言级别问题,其他语言和框架应该以PHP为代价而受欢迎。但不会牺牲这些问题。易于创作,具有很高的可扩展性。)

答案 1 :(得分:3)

PHP使用Shared Nothing architecture,这使得它可以很好地扩展。

PHP会死吗?我并不是不知道用大胆的 No 来回答这个问题。每种技术都有它的时间,我相信会有更好,更精简,更快,更适合网络的东西,而不是最终的PHP。但PHP会很快 吗?不,我不这么认为。对可扩展性的需求是我们大多数人希望拥有的,但事实是,大多数Web应用程序根本没有必要。


相关阅读,其中包含有关PHP可伸缩性的更多信息

答案 2 :(得分:2)

看到围绕高质量PHP框架的兴趣,如Zend PHP,Symfony,Cake,Solar等等,我认为PHP是重生的。​​

它的新面向对象模型允许专业开发人员回归已知的范例,并吸引更多因为面向对象支持而不想来PHP的人。

顺便说一句,我看到越来越多的人需要聘请具有扎实技能的专业PHP开发人员,并且使用PHP框架(Symfony和Zend Framework是法国最受欢迎的)。

PHP并不像我们想象的那么慢,良好的缓存,优化的db请求是值得的。 如今购买大量内存而不是优化代码来加速组装或C的成本也更便宜。