【问题标题】:PHP, MySQL | Windows vs LinuxPHP, MySQL | Windows 与 Linux
【发布时间】:2009-08-06 20:51:08
【问题描述】:

好吧,标题做了解释。 Linux 或 Windows 上的 PHP/MySQL 哪个更快。

问题 1

我知道 MySQL 在 Windows 上速度较慢,因为我试图在 Windows 上运行 C++ 程序来访问 MySQL,每次打开连接都需要一年时间。当我将准确的副本移植到 linux 环境中时,速度非常快。

我不确定为什么会有差异,也许是因为当我们谈论 Linux 时,每件事都快数百万倍,但很高兴知道为什么会有如此巨大的差异。

问题 2

我已经在 IIS 上设置了 PHP,在 Windows 上设置了 mySQL,我刚刚在这个设置上测试了一个非常小的应用程序,看起来还不错。我真正想知道的是,PHP 在 Windows 而不是 Linux 中是否存在任何性能问题?

编辑 Windows Vista 是我最初尝试使用的操作系统,未测试 W7。 Fedora 10 是 Linux :D

【问题讨论】:

  • 减去为什么..? (* 必填 - 至少 15 个字符)

标签: php mysql performance operating-system


【解决方案1】:

他们应该最终是相同的速度。如果您进行不科学、不公平的测试,您可能会表现出不同。

进程启动速度可能不同。特别是,Windows 上的进程启动可能会更慢。这在生产中应该没有太大关系,除非您使用的模型会非常频繁地创建新流程,否则这两种流程都会效率低下。

在生产级硬件上运行具有大量请求的实际应用程序的性能测试,时间很长。这是唯一的判断方法。

不用说,我可以肯定地说,几乎没有人会根据性能选择 Windows 还是 Linux。通常这是他们能够在生产中管理并获得硬件/软件支持的内容。

如果您要在生产中安装 1000 个盒子,Windows 服务器许可可能会变得昂贵(取决于您与 MS 的交易)。如果你只安装几个,那可能没关系(支持服务器会贵很多)。

【讨论】:

    【解决方案2】:

    在使用 IIS 7 和 PHP 作为 FastCGI 的 Windows 上,情况正在慢慢好转;见http://php.iis.net/

    但是我从来没有听说过关于 PHP + IIS6 的任何好消息……不过,我自己从来没有在这个配置中工作过;所以我不能说经验。

    要考虑的一件事是,当涉及到 PHP 时,Windows 仍然(情况也在慢慢变得更好)似乎被视为二等公民......
    而且很难得到你想要的 PHP 版本(在 Linux 上,你只需重新编译,这绝对不难) ;对于 PECL 扩展来说甚至更多,顺便说一句...


    作为旁注:您可以使用 Apache 在 Windows 上运行 PHP ;-)

    【讨论】:

      【解决方案3】:

      PHP 在 Linux 和 Windows 上的速度几乎一样快,不同功能之间存在差异。

      Linux 上的 PHP 曾经支持更多 Windows 不喜欢 pcntl_fork 和 socket_create_pair 的功能。似乎随着 5.3 版的发布,现在两者都适用(来自 PHP 文档)。

      我不知道 Linux 上的 Apache 与 IIS,或者 Linux 上的 Apache 与 Windows 上的 Apache 之间的速度差异。

      【讨论】:

      • 好吧,我打算根本不使用 Apache,只使用 IIS 来运行 PHP。如果我在 Windows 或 IIS 上使用 Apache 会有区别吗
      • 如果您熟悉 IIS,那可能是最好的选择。 stackoverflow.com/questions/1197953/…
      【解决方案4】:

      1) 这可能是由于您的 mysql 服务器尝试进行反向查找,和/或您的 Windows 机器上 localhost 的 DNS 不正确。

      2) 总体而言,PHP 的速度是一样的,但是它的接口(apache 模块、cgi 等)可能没有那么快。

      【讨论】:

      • 据我记得我使用的是 vista,可能是因为不是 windows 7 吗?
      【解决方案5】:

      除非您有许多并发连接和/或没有在 Windows 服务器上运行,否则不确定是什么问题。两者之间应该没有明显的速度差异。您的程序中发生了其他事情。

      【讨论】:

      • 我确定没有并发连接。其次,就像我说的程序相同,我认为唯一不同的是在 windows 中我使用的是 mysql.dll 和 linux -l mysqlclient
      猜你喜欢
      • 2021-06-08
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 2016-08-28
      • 1970-01-01
      相关资源
      最近更新 更多