为什么PHP适用于高流量网站?

Enn*_*oji 31 php performance

今天我很惊讶地发现PHP在高流量网站中被广泛使用.

我一直认为PHP在性能方面不强,是一种动态的脚本语言(例如与静态类型的编译语言比如C/Java/C#等).

那怎么表现得这么好呢?

irc*_*ell 57

你通常会发现它并不像你想象的那么慢.很多站点都很慢的原因是主机过载.

但PHP在编译语言上的一个主要好处是易于维护.因为PHP是为HTTP流量而设计的,所以构建的内容比大多数其他编译语言要少.另外,由于您不需要重新编译和重新启动服务器,因此更改合并变得更容易(就像使用已编译的二进制文件一样)...

我已经在两者上做了相当多的基准测试,对于每秒约50k请求的任何地方(基于我的数字),使用编译二进制文件(FastCGI)确实没有显着的增益.当然,使用编译的C会快一点,但除非你说的是Facebook级别的流量,否则这并不意味着重要的$$$.而且,与使用C相比,它肯定不会抵消PHP提供的相对较快的开发速度(由于它不是内存管理,因此很可能需要很多代码)...

如果编写得当,PHP可以非常可扩展.限制因素通常在您的数据库引擎中.无论您使用何种技术,这都将成为一个共同因素......

  • 嗯,那是真的.我从来没有说过ASP.NET不好(除了我的笑话评论).我所说的是,就语言的性能而言,PHP与其他语言的抵消非常少.如果你想选择一个合适的平台,你需要考虑的不仅仅是性能(除非你有facebook级别的流量).许可成本就是一个例子.坦率地说,ASP.NET运行中级流量站点(任何需要超过1台服务器)的成本远远高于PHP/Linux.但是没有明确的"一个更好"...... (10认同)
  • 关于Facebook ......他们开发了一个PHP到C++的转换器......所以,他们的大部分网站*都是在C++上运行的. (8认同)
  • 没错,但是他们的大部分源代码都是用PHP编写的.所以它是一个灰色的区域,它正在运行它(它是一个已编译的二进制文件,但它又是PHP ...它提供了两个世界中最好的).正如我上面所说,他们的流量水平通过从解释服务器(PHP)切换到编译服务器(PHP-> C++ - > G ++ - >二进制)来提供显着的收益...... (4认同)
  • 将PHP webdevelopment与C webdevelopment进行比较然后(很明显地)得出结论认为PHP更好,因此非编译比编译用于web开发更好.对于适合web开发的编译语言,例如C#with ASP.NET MVC,这种比较是什么样的? (2认同)

bpe*_*n76 10

在一个大型企业环境中进行Java部署是一团​​糟......与构建和代码进行斗争可能无法针对最微小的事情进行编译.此外,PHP运行在一个相当简单的设置服务器上,而不是Weblogic(或其他)的庞大代码,所以其他人是正确的,因为开发成本低,并且在几台不同的机器上部署便宜.在做Java的时候,在一个庞大的,非常低效的公司环境中工作,我感到很沮丧.

我不会说PHP开发人员本身更便宜(我现在作为PHP开发人员比我作为Java UI开发人员做的更多)但我知道我的上一个雇主付了我一笔不小的时间用于配置PHP中不需要的,部署,编译等.由于新的分支机构推出或与发布相关的配置,我们可能正在讨论一天/周的相关配置.所以,我现在支付的额外费用是由我能够每周工作的大量代码弥补的.

MySQL和Postgres(在较小程度上)已经变得如此强大,这肯定有助于PHP.它们并没有直接联系,但将它作为一个共同的配对只会使那些做出决策的交易变得更加甜蜜.

  • +1"与可能无法针对最微小的事情编译的构建和代码进行斗争"...... (6认同)