【问题标题】:What are the advantages of faster server side scripting languages?更快的服务器端脚本语言有哪些优势?
【发布时间】:2010-12-03 04:36:40
【问题描述】:

Python 脚本的典型性能比 PHP 大约是 5 times faster。使用更快的服务器端脚本语言有什么优势?网站访问者会感受到速度吗?更快的服务器处理器能否弥补 PHP 的性能?

【问题讨论】:

  • 我碰巧认为他没有在 PHP 的范式中编写代码,这样会更快。
  • 他不能使用 PHP 字节码缓存(例如 APC),因为他在 CLI 模式下运行测试。因此,测试环境以一种关键的方式限制了 PHP 的性能。
  • “典型表现” ???您指的是一个小程序,它显然不是典型的 PHP 脚本 :-) 这些也不是典型的 PHP 脚本,但至少有不止一个 - shootout.alioth.debian.org/u32q/…

标签: php python performance scripting webserver


【解决方案1】:

对于典型的网络应用程序,速度差异通常不会在请求本身中感受到(网络延迟使您在 HTTP 请求中运行的典型脚本的计算时间相形见绌)。

有很多其他因素会影响可扩展性,但处理平均请求的处理需要确实考虑在内。因此,孤独的用户不会感觉到差异。众多用户中的一员可能会感受到差异,因为服务器基础架构难以承受负载。

当然,增加处理器会缓解这个问题,但正如 jrockway 所说,维护两台服务器的难度是维护一台服务器的两倍多。

综上所述,在绝大多数情况下,您的瓶颈不会是处理器。您将耗尽内存,或者您会发现您的数据库交互是真正的瓶颈。

【讨论】:

    【解决方案2】:

    提高网络请求处理程序的执行速度通常意味着使用相同的硬件每秒处理更多的请求。这在许多情况下都很有价值;维护一台服务器比维护两台服务器容易得多。

    顺便说一句,为什么是 Python 而不是 Haskell?在某些基准测试中,Haskell 比 PHP 快 100 倍。

    【讨论】:

    • 基准不明确;用数据库查询等组装一个完整的 Web 应用程序,然后对整个应用程序进行基准测试并平均其每秒请求数,然后与 PHP 进行比较,也许它会是更准确。
    • +1 提到 Haskell!我喜欢 Python,如果性能很重要,它肯定是比 PHP 更好的选择,但如果你真的关心性能,你需要 C++(OK)、Haskell(更好)或 C(最好)之一。如果您想要性能和功能强大的语言以及出色的交互环境,那么 Haskell 是您的最佳选择。
    • 哪些基准? (沿着这些思路,为什么不把所有东西都写在 C 中?;-)
    • 大卫,我认为我们程序员应该避免让自己流血? :-D
    • C++性能不如纯C?嗯,不,除非你使用英国媒体报道库。
    【解决方案3】:

    据 Andy B. King 所说,网站优化:

    对于 Google 而言,页面加载时间从 0.4 秒增加到 0.9 秒后,流量和广告收入减少了 20%。对于亚马逊来说,加载时间每增加 100 毫秒,销售额就会下降 1%。

    http://www.svennerberg.com/2008/12/page-load-times-vs-conversion-rates/

    尽管 Python 的速度快了约 4 倍,但总的来说,最大的不同还是软件的架构。如果您的查询和磁盘访问未优化,那么您就会遇到巨大的瓶颈——即使您只包含大约 20 个不同的文件(5 毫秒查找时间等于 100 毫秒)。我敢肯定,即使是 Python 也会因效率低下和数据库查询而变慢,就像 PHP 一样糟糕。

    也就是说,从长远来看,不友好的界面会让您付出更多的代价,而不是降低速度。只需制作一个没有解释和十五个必填字段的注册表单,并经过严格验证,您就会吓跑很多人。 (我个人认为。)

    【讨论】:

      【解决方案4】:

      when you get charged for CPU time 怎么样?

      我刚刚通过改用 Python 节省了一大笔钱!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-04
        • 2016-05-30
        • 1970-01-01
        • 2015-09-23
        • 1970-01-01
        • 2011-12-11
        • 2011-06-14
        • 1970-01-01
        相关资源
        最近更新 更多