资金、人员、技能以及对开源或商业的偏好是中立的.

让我们选取最优秀的程序员(为了论证起见)并思考一下:

总体而言,什么会表现得更好:

  • PHP 和 MySQL

或者

  • ASP.NET 和 SQL Server

(我不想要有偏见的答案,只是寻找性能和速度).

有帮助吗?

解决方案

我是 PHP 专家(也研究 .NET),我会说:在所有条件相同的情况下(所选平台、硬件、带宽等方面的程序员技能),带有 SqlServer 的 ASP.NET 将比带有 MySQL 的 PHP(运行时)更快。解释型语言根本无法在运行速度上击败编译型语言。

我想提出一个问题:“这重要吗?”我无法为你回答这个问题。但就我而言,我遇到的大多数答案都是肯定的。我发现(精心设计的)代码中原始速度的差异通常可以忽略不计,当然,YMMV。

选择主要取决于问题的答案:“你想什么时候快点?”

  1. 写代码的时候
  2. 运行代码时
  3. 调试代码时
  4. 上述所有的

PHP 在大多数情况下击败 ASP.NET 的唯一情况是 1;在编写代码时,有两种情况下,ASP.NET赢得了双手。2和3,运行和调试代码。

如果您想要整体速度最快,则在我们知道使用两个平台在 1、2 和 3 中分别花费的时间之前,答案将是不确定的。

其他提示

ASP.NET 是经过编译的(并使用非常有效的运行时以及最先进的 JIT 和垃圾收集器),而 PHP 是一种解释性脚本语言。在这个问题上我将选择 .NET。另外,对于严肃的数据库事务来说,SQL Server(2005+)比 MySQL 更好

我见过一些报告显示 mysql 对于一些简单的场景(即放入单个表,从单个表获取)。但速度差异不会很大。我的经验是,网站中任何明显的缓慢都是由于以下原因之一造成的:(1)数据库硬件不足(例如只是没有足够的磁盘 I/O 或足够的 RAM)或(2)数据库需求的复杂性(与您想要完成的任务的必要争用相关)。因此,mysql 擅长的简单场景不太可能成为避免站点速度缓慢的最受关注的问题。我的观点是,添加额外的前端服务器非常简单,因此 asp.net 或 php 并不重要。通常,在数据库端进行横向扩展非常困难(可以做到,但复杂性要高得多)。

我在这两方面都做过工作,所以我实际上已经研究过这个问题,答案确实是“没关系”。

从用户的角度来看,无论是 PHP/MySql 还是 ASP.NET/MSSQL,花在排队 HTTP 请求上的时间比花在执行代码上的时间都多。如果您有一个用其中一种语言编写的网站,那么增加服务器的规格以获得性能几乎总是比用另一种语言重新编写要便宜。

根据我的经验,虽然 .NET 应该更快,但类似的 PHP 页面响应速度更快,而且它们在功能上几乎相同(非常简单的 CMS 网站,页面和产品位于数据库中)。我开发了这两种语言,所以我见过很多这两种语言的网站。

您的应用程序设计和人员的技能水平将对性能产生最大的影响

对于 Web 应用程序,选择 PHP 或 ASP.NET 可能并不重要,因为它们都会花费大部分时间等待。ASP.NET 在 CLR 上编译和运行,而 PHP 被解释并具有字节码缓存,这大大加快了执行速度。

MySQL和MSSQL很难区分。大多数大型网站都在 MySQL 上运行。Facebook、Yahoo、Google、Digg、Twitter 都有在 MySQL 中运行的东西。除非你做一些需要 MSSQL 特定功能的商业智能工作,否则我不会使用它。它非常昂贵,并且在性能方面没有经过证实的好处。

您可以从这两种组合中获得非常好的性能。ASP.NET - 已编译,编译后可以运行得更快。

然而,有一些好的 php 有一些好的缓存插件,它们实际上保存了生成的 php 字节码。php 需要考虑的另一件事是它的大部分库实际上是用 C 编写并编译的。使用 php,正在运行的代码要少得多 - 没有框架、请求/上下文/响应对象和控制树的实例化。总体而言php可以运行得非常快。

我会选择 ASP.NET 作为企业 Web 应用程序,使用 php 作为公共网站。

对于数据库 - 在某些情况下 mysql 可能比 MSSQL 快一点,但它们都非常好。

你不会得到任何数字。但如果你真的想要数字,我建议你尝试两者并进行测量。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top