PHP需要比ASP .NET更多的服务器?

时间:2012-02-22 14:09:58

标签: php asp.net performance

ASP .NET的编译代码将比PHP快得多。这是否意味着ASP NET需要比PHP更少的服务器来执行等效的应用程序?那么,ASP NET开发能否节省硬件成本?

4 个答案:

答案 0 :(得分:2)

任何广泛使用的编程语言都能比PHP更快地执行。没有人使用PHP,因为它很快。

除非你正在构建需要大量资源的东西,否则速度绝对不是你的首要问题,因为即使开发成本的小幅增加也会使你在硬件方面节省的成本相形见绌。

答案 1 :(得分:0)

Here is a good article概述了您的疑虑。我已经删除了一些要点,但以下内容应该回答你的问题。

予。可扩展性和易于维护

可扩展性和易维护性与您选择PHP还是ASP.net平台无关。 Web应用程序的可伸缩性和易维护性主要取决于:

  • 编程'经验
  • 使用最佳编程实践
  • 使用可靠的编程框架
  • 遵循编程指南和标准

II。性能和速度

关于这个主题的讨论很多,大多数辩论都有偏见,并且是为了推广其中一种编程语言而不是为观众提供信息。

但是,如果编程语言需要执行类似于Google或Yahoo等网站每天所做的大量任务,那么在为所需的大量任务选择非常快速的编程语言时应该考虑很多 - 这就是谷歌和雅虎为何使用多种编程语言(主要是开源),每种语言都选择用来处理编程语言最擅长的任务。

下面,我将分析常见和不常见的情况,并解释哪个任务比另一个更好:

第一个常见场景: 任何Web应用程序的常见任务之一是访问和查询数据库并将结果输出到Web服务器,然后输出到浏览器。因此,在这种常见情况下,所有编程语言正在做的是与数据库服务器和Web服务器进行通信/接口。在这种常见情况下,编程语言的速度对此过程几乎没有影响;这个过程的速度依赖于数据库服务器,Web服务器,客户端的Web浏览器/计算机和带宽。

当谈到主要和通用数据库服务器时,MySQL(现在由Oracle拥有),PostgreSQL,MSSQL和Oracle都在争取速度和性能。我们在每个版本升级中都会看到所有数据库服务器的新功能和更好的性能,所以如果数据库程序员使用优化和实用的SQL查询,并且需要使用高级功能,我会说上述数据库服务器都会有很好的性能。作为缓存。

谷歌,Facebook,YouTube,雅虎以及最近在世界杯足球赛上使用的MySQL在全球范围内吸引了大量观众。所以我不会质疑MySQL数据库服务器的功能。

根据我对一些在线统计数据的研究,在撰写本文时,PHP和MySQL之间的通信和接口比ASP.net和MSSQL更快,但它并不是很明显。

第二种常见情景: 任何Web应用程序的其他常见任务之一是访问文件系统,查找映像并将其发送到Web服务器。在这种情况下,编程语言再次做得很少 - 操作系统和文件系统负责与编程语言进行通信。

根据我对一些在线统计数据的研究,在撰写本文时,Linux操作系统和ext4(文件系统)的性能优于Windows操作系统和NTFS(文件系统)。

第3种常见情景: 大多数Linux / Unix服务器运行非常精简,没有任何额外的不需要的软件包或GUI接口,因此操作系统使用的CPU和RAM少得多,这为数据库和Web服务器提供了更多的分配。

大多数Windows服务器运行笨重,并且有许多不需要的软件包和GUI,它们将使用更多的CPU和RAM。

显然,LAMP平台将优于ASP.net平台,因为它将拥有更多可用资源。

第四种不常见的情景: ASP.net通常用C#编写(发音为C Sharp) - 一般来说,在撰写本文时,C#是一种比PHP更快的编程语言。 (这可能会改变,因为每种编程语言都会提出升级以争取更好的速度。)因此,如果编程语言需要运行2,000,000循环执行计算,用C#编写的ASP.net将赢得PHP。但是,这是一种非常罕见的情况,计算的大多数循环执行将是100秒而不是2,000,000。在这种情况下,应该有其他人担心为什么有人需要进行2,000,000次循环计算。

可能对性能产生影响但与选择的编程语言无关的其他项目包括:

程序员优化代码的能力和知识 程序员编写适当和优化的SQL查询的能力和知识。 需要的功能(某些功能在ASP.net平台上执行可能需要更长的时间,在PHP平台上执行时间更短,反之亦然。

III。成本:

PHP,MySQL服务器,PostgreSQL服务器,Apache服务器和Linux操作系统都是免费的,升级也是免费的。此外,将另一台热备用服务器作为备份,或者需要运行多台服务器以实现负载平衡或服务器群集,不需要额外的许可成本。

LAMP(Linux,Apache,MySQL和PHP)在托管公司中也更受欢迎,与Windows托管相比,它的受欢迎程度导致LAMP托管的每月托管成本更低。

如果您购买Windows操作系统,ASP.net和IIS是免费的。 Microsoft Windows Server,Microsoft SQL Server和未来的升级需要大量的许可成本。例如,Microsoft Server 2008 R2 Standard - 64位成本约为1029美元,Microsoft SQL Server 2008 Standard Edition for Small Business成本约为1038美元。

如果网站变得流行并且需要在多个服务器上运行该网站或需要服务器功能(如负载平衡,服务器群集或热备用),Microsoft的上述许可成本可能会大幅增加。

诉部署时间

与PHP相比,使用ASP.net需要更多(更多行)代码来完成复杂的特性和功能,从而为开发过程增加了更多时间。

此外,PHP在服务器上进行解释,因此在更改功能时,无需执行其他步骤即可查看更改。另一方面,每次修改代码时都需要编译ASP.net。同样,使用ASP.net而不是PHP时,开发过程更耗时。

VI。平台无关

PHP独立于平台,可以在任何平台上运行 - Linux,Unix,Mac OS X,Windows。

ASP.net只能在Windows平台上运行。

答案 2 :(得分:0)

与gintas同龄,但不仅仅是开发成本。对于典型的Web任务,语言性能不是瓶颈,通常是数据库和Web服务器性能。所以你应该更好地关注数据库,操作系统和http服务器以消耗更多的“服务器”。 :)

答案 3 :(得分:0)

像往常一样,答案是"它取决于"。

许多Web应用程序不受Web服务器层执行速度的限制 - 通常它们运行数据库查询或将某些其他资源与魔术事物联系到页面上。与编译代码和解释代码之间的差异相比,这往往会对性能产生更明显的影响。

其次,PHP和ASP.Net都使用了很多编译的库;为给定Web请求执行的代码总量远远大于应用程序代码。这倾向于减少编译代码与解释代码之间差异的影响。

第三,我有使用这两个平台的经验;实际上,PHP和ASP.Net站点往往具有大致相当的性能和可伸缩性特征;如果有的话,PHP网站稍微快一些。

相关问题