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

2021/01/30 21:41 · php ·  · 0评论

今天令我惊讶的是,PHP被广泛用于高流量的网站。

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

那么,它的表现如何如此出色?

通常,您会发现它的运行速度没有您想象的那么慢。许多站点运行缓慢的原因是主机过载。

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

我在这两者上都做了相当多的基准测试,对于每秒约5万次请求(根据我的数字)的任何地方,使用编译二进制(FastCGI)确实并没有显着收益。当然,使用编译后的C会更快一些,但是除非您在谈论Facebook级别的流量,否则这并不意味着真正的$$$。而且与使用C相比,它绝对不会抵消PHP所能提供的相对较快的开发速度(由于它不是由内存管理的,因此很可能需要很多倍的代码)...

如果编写得当,PHP可以具有很好的扩展性。限制因素通常在数据库引擎中。无论您使用哪种技术,这将成为一个普遍的因素...

在大型企业环境中的Java部署是一团​​糟...与可能无法编译的小巧小巧的内部版本和代码进行斗争。而且,PHP在服务器上非常简单的安装程序上运行,而不是在Weblogic(或其他程序)上庞大的代码,因此其他程序也是正确的,因为它的开发成本较低,并且可以廉价地部署在几台不同的计算机上。在Java编写过程中在大型,效率低下的公司工作使我感到不适,这当然无济于事。

我不会说PHP开发人员本身更便宜(现在作为PHP开发人员,比作为Java UI开发人员的收入要多),但我确实知道,我的上一位雇主为我花了很少的时间来配置,部署,编译等,在PHP中是不需要的。由于新的分支推出或发行相关的配置,我们可能正在谈论一天/一周的相关配置更改。因此,我现在需要支付的额外费用由我每周能够处理的大量代码弥补。

MySQL和Postgres(在较小程度上)变得更加强大的事实无疑为PHP提供了帮助。它们之间没有直接联系,但是将它们作为通用配对可以使决策者从中受益。

大多数网站在查询数据库等时都有性能瓶颈。与之相比,脚本花费的执行时间通常很少。使用libmemcached之类的东西可以帮助减轻这种情况。

它实际上并没有“那么好”,只能被很好地使用。但是请记住,Java和C#.NET也在VM中作为字节码运行。使用Zend Optimizer之类的工具的PHP也可以跳过编译步骤,并以字节码形式运行。

PHP的运行速度不会像本地的C编译代码那样快,但是Facebook之类的网站将PHP编译为C ++以使其运行得更快(请参见HipHop-PHP)。

许多站点都是从低流量站点开始的。一旦您的PHP网站开始运行,突然您不得不处理更高的流量,购买更多的服务器比将您的应用程序从PHP重写为其他东西要便宜。此外,还有一些工具可以改善PHP性能。

还要注意,还有其他因素:数据库,缓存策略比PHP本身对性能的影响更大。

事实并非如此,这就是为什么存在诸如HipHop这样的项目的原因,但是动态语言的开发速度通常更快,并且硬件比开发人员便宜。

在我看来,PHP的无状态本质是其可伸缩性的最重要因素。自从我使用Java / ASP.NET完成任何Web工作以来已经有一段时间了,但是我记得这两种技术都有一个中央应用程序“引擎”,所有请求都通过该引擎传递。很好,因为信息和状态可以在实例之间共享,并且很多引导(读取配置文件,连接到数据库等)可以一次完成,然后在实例之间共享。但这很糟糕,因为中央“引擎”本身成为整个应用程序的瓶颈。

PHP中缺少中央引擎,这也意味着扩展应用程序通常很简单,只需向您的装备中添加另一个Web服务器即可(尽管扩展数据库及其过程更为复杂)。我认为扩展Java / ASP.NET应用程序的复杂性要大得多,而且它们达到了饱和点,每次增加更多的硬件将带来更少的提升。

本文地址:http://php.askforanswer.com/weishenmephpshiyongyugaoliuliangwangzhan.html
文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!