这是我见过的最近一篇文章的后续文章,其中表明PHP表现不佳:
“PHP。是。总是。来.BOTTLENECK。我的服务器农场,让我告诉他们!PHP Overall Performance”
接下来是:
“PHP性能非常糟糕 abysmal 。我的基础是我使用OpenX(在Linux上)和WordPress(在win64上)的经验。”
我们能否获得一些客观的社区意见,以确定PHP性能是好还是坏......
答案 0 :(得分:31)
答案“PHP性能有多好?”是“足够好”。
我的意思是网站的大多数性能问题都与其他问题有关,比如糟糕的数据库设计,很少甚至没有缓存,CSS / Javascript /图像缓存等等。
互联网上的一些最大的网站使用PHP,因此它通过了该测试。杰夫阿特伍德辩称PHP Sucks, But It Doesn't Matter。有些事情要正确地批评PHP(例如参数顺序不一致,函数命名不一致,魔术引号等),但我认为他夸大了否定。
所以不要根据假设的性能选择PHP(或不选择)因为它无关紧要(与其他所有内容相比)。
答案 1 :(得分:4)
PHP的表现很好。当然,除非你正在设计3D游戏。
差异可以忽略不计和火焰诱饵。因为,实际上,“如果它能够扩展,它会关心它的速度吗?”那错了吗?请参阅#2,了解降低速度的一个例子。
任何需要时间的事情。 (讽刺,我知道。)但实际上,它总是取决于你如何做你所做的花费时间。例如,我可以编写两个具有几乎相同输出的查询,但速度提高2.5倍,语法/选择更好。总的来说,PHP脚本中最糟糕的浪费时间是文件访问 ...感谢硬件。因此,您包含/要求的文件数量会比脚本更慢地减慢脚本速度 - 尤其是在分段时。
通过这个简单的系统,我操纵自己的MVC框架的速度几乎是裸机CodeIgniter应用程序的速度的10倍;它更简单,更简约,是的,但它应该表明,包括1个文件,而不是每个类1个,可以在速度上产生巨大的差异。
只要它的* AMP很好,Linux服务器当然会更快。尽管硬件和软件差异很大,但我对WAMP和LAMP系统都感到满意。 (但一般来说,LAMP系统虽然硬件较少,但速度最快。)
答案 2 :(得分:2)
PHP性能并不是那么糟糕 - 与C相比,它会失败,但与其他脚本语言相比,它大致相同。
请参阅this shootout以获取交互式效果基准测试,以了解一些性能指标。
当然,这张幻灯片显示的是PHP is rarely the bottleneck。
答案 3 :(得分:2)
目前有一个project going on with the PHP developers可以为PHP构建更好的Benchmark工具。
项目负责人最近在Google Techtalks上做了一个名为Compiling and Optimizing Scripting Languages的演讲,这是一个非常有趣的演讲。
前几天我做了一个PHP应用程序大小检查。
将数据加载到内存中。
答案 4 :(得分:0)
使用正确的算法和数据结构与使用某种编程语言的性能更相关(只要可以用所选语言表达它们)。
如果PHP程序员知道他在做什么,那么PHP甚至可以比C ++更快。
答案 5 :(得分:0)
通过使用像The Alternative PHP Cache这样的操作码缓存可以大大提高性能,这种缓存是免费的,并且通过将脚本基本上“编译”为可以由Zend Engine直接使用的操作码来提供显着的性能提升。在每个请求上解析代码的开销(过度使用的术语IMO)。您可以看到基准here以及我的博客中有关使用speeding up Zend_Loader的
的APC缓存的帖子答案 6 :(得分:0)
雅虎!使用PHP。 http://public.yahoo.com/bfrance/radwin/talks/yahoo-phpcon2002.htm
我不同意PHP始终是瓶颈。 PHP与Java或ASP一样可扩展且高效。在路的尽头,它归结为您的数据库,瓶颈将始终从那里开始。
答案 7 :(得分:0)
PHP可能没有编译好的服务器端语言那么快,但它仍然非常快并能完成工作。
php的“速度”方面更多地与用户体验有关,而不是与性能本身有关。
基于PHP的AJAX应用程序不会被归类为“慢”或“无响应”:用户在单个请求完成时有很多工作要做!此外,对于用户而言,对于用户来说“均匀慢”并不比显示出不稳定的性能速度更加痛苦。
之前的评论之一已经非常恰当地总结了它:语言不会无效!应用程序doez。
欢呼,jrh答案 8 :(得分:0)
你可能会发现Rasmus给出的这些幻灯片有点相关和有趣: talks.php.net/show/drupal08 /