ASP.Net (C#) & SQL Server - 或者 - PHP & MySQL 的性能? [关闭]

Posted

技术标签:

【中文标题】ASP.Net (C#) & SQL Server - 或者 - PHP & MySQL 的性能? [关闭]【英文标题】:ASP.Net (C#) & SQL Server -or- PHP & MySQL for performance? [closed] 【发布时间】:2010-10-24 19:10:24 【问题描述】:

金钱、员工、技能和对开源或商业的偏好是中立的

让我们挑选最好的程序员(为了争论)考虑一下:

什么会整体表现更好:

phpmysql

ASP.Net & SQL Server

我不想要有偏见的答案,只求性能和速度)。

【问题讨论】:

投票结束,因为这可能是煽动性的问题。附带说明:编译后的代码总是比解释的要快:) 所以从我读到的内容来看,PHP/MySQL 更慢(扩展更容易、更便宜)或 C#/MSSQL 代码更快(以及更多的钱和复杂性) 我看不出这会对智商高于普通纸的人造成多大的刺激。 您可能会花很多钱,但仍然没有得到好的设计、人员和/或工具! 【参考方案1】:

我是 PHP 人(也使用 .NET),他会说:所有事情都是平等的(程序员技能与所选平台、硬件、带宽等)。带有 SqlServer 的 ASP.NET 将是比使用 MySQL 的 PHP 更快(在运行时)。解释型语言在运行时速度上根本无法击败编译型语言。

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

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

    在编写代码时 运行代码时 调试代码时 以上所有内容

在大多数情况下 PHP 会击败 ASP.NET 的唯一情况是 1;在写代码的时候 ASP.NET 在两种情况下胜出; 2和3,运行和调试代码。

如果您想要总体上最快的,答案将是不确定的,直到我们知道使用两个平台在 1、2 和 3 中的每一个上花费的时间。

-- 下面添加--

我显然忘了提到,有一件潜在的大事在 PHP 中(还没有)解决,但在 .NET 中很容易做到,那就是多线程。您可以(付出很多努力)在 PHP 中进行一些多处理,但 .NET 可以轻松地在一个进程中运行多个实际线程。如果这不是一个交易破坏者,那就去吧。

【讨论】:

11 年后..(asp.net core + mssql vs PHP + MySQL)关于开发时间,您认为哪个更实用(对于不熟悉两者的初学者) > Web APIsAuthenticationUnix/Linux 环境下? 另外,根据您的经验,Linux 上的(asp.net core + MySQL)您怎么看?提前致谢。 @Cfun:所有可能的组合都非常适合初学者。这完全取决于个人喜好。在我周围,有更多的 php 工作,但 .net 工作的薪水更高。还; asp.net 核心在我的 Mac 上是惊人的,所以我毫不怀疑它在 Linux 上也很棒。至于数据库,ADODB (,net) 和 PDO (php) 两者都很好。 ergo:这真的没关系。 感谢您的回复,对我很有帮助。【参考方案2】:

ASP.NET 是经过编译的(并且使用了一个非常有效的运行时以及最先进的 JIT 和垃圾收集器),而 PHP 是一种解释型脚本语言。我将在这个上使用 .NET。 加上 SQL Server(2005+) 比 MySQL 更适合严肃的数据库

【讨论】:

关于您的评论“Plus SQL Server(2005+) 在严肃的数据库方面比 MySQL 好得多”- 什么样的严肃的东西,如银行或大型社交网站? MySql 是不是不太可靠,还是会出现更多的停机时间?我知道在 MySQL 中,如果要添加新索引,则需要关闭数据库……而在 MSSQL 中,它可以即时执行。 “Serious DB stuff”是指管理具有大量数据、许多互连表、具有多个连接子句的大查询等的数据库。 我发现SqlServer由于TSQL而功能更丰富,而且附带的管理工具也很不错。尽管 MySQL 存在类似的工具,但 SqlServer 对我来说只是对用户(阅读程序员)更友好。【参考方案3】:

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

【讨论】:

【参考方案4】:

我在这两个方面都做过,所以我实际上已经研究过了,答案真的是“没关系”。

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

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

【讨论】:

【参考方案5】:

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

【讨论】:

我提到金钱、员工、技能和对开源或商业的偏好是中立的。但你说得有道理。 您可能会花很多钱,但仍然没有得到好的设计、人员和/或工具!【参考方案6】:

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

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

【讨论】:

【参考方案7】:

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

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

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

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

【讨论】:

虽然在某些情况下 MySQL 可能确实比 SqlServer 快,但我还没有遇到过这样的情况,即使在那时和何时,我可能仍然会选择更丰富的功能集SqlServer。 (Mac 人说)【参考方案8】:

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

【讨论】:

以上是关于ASP.Net (C#) & SQL Server - 或者 - PHP & MySQL 的性能? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

SQL 数据库驱动的 C# 和 ASP.Net 基于角色的身份验证控制

Java与ASP.NET有啥区别

asp.net(C#)之NPOI"操作Excel

嵌入式 Mysql (libmysql.dll) 和 C# & Asp.Net

反 Sql 注入库 C# Asp.NET

如何使用 C#、ASP.NET、SQL Server 端处理实现 jQuery DataTables 插件?