【问题标题】:HHVM Slower than PHPHHVM 比 PHP 慢
【发布时间】:2015-05-27 09:57:29
【问题描述】:

我已将 Apache + modphp 替换为 nginx + HHVM。 仅 html 文档(来自 curl 和 FF)的原始站点运行时间在 1-2 秒之间。 使用 HHVM,它现在运行时间为 14-20 秒。

这一切都在 Ubuntu 14.04 上运行。使用库存 php.ini 和 server.ini

这里有一些配置:

location ~ \.(hh|php)$ {
    fastcgi_keep_conn on;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $request_filename; // The only change
    include fastcgi_params;
}

server {
    #listen stuff
    #root stuff
    #index stuff

    location / {
        try_files $uri $uri/ index.php?$query_string;
    }

    include hhvm.conf
}

这是使用 CodeIgniter 作为框架。

【问题讨论】:

  • 问题是?
  • @MarkBaker 为什么著名的 HHVM 的运行速度会比普通的 PHP 5.5 设置慢。
  • 因为在您的项目中使用全局变量和动态类型,如果您不遵守规则hhvm performance tips,hhvm 的速度将无法保证
  • @AlexKashin 我知道由于这些问题它不会超快。但是慢了 12 秒?

标签: php nginx hhvm


【解决方案1】:

这里可能会出现很多奇怪的效果,很大程度上取决于您的应用……但总的来说,这确实不应该发生。一些快速的尝试:

  • 确保您正在做一个苹果对苹果的比较,而不是,例如,在另一台 MySQL 配置不同/不正确的机器上,或者因为代理配置错误或类似的东西。
  • 是实际花费在 HHVM 上的时间,还是一些 nginx、mysql 等配置问题? top 可以帮助您解决这个问题,大致上是:哪个进程正在消耗 CPU?或者,如果它们都不是,那么时间会去哪里?
  • 您是在测量第一个请求,还是在某些负载下执行此操作? HHVM 需要一些时间才能正确预热,并且在预热之前可能会有奇怪的性能配置文件。 100-200 个请求就足够了。
  • 如果您不知道发生了什么,您可以跳入 Freenode IRC 上的#hhvm,我们可以帮助您进行调查。在美国太平洋时间的工作时间内,人们往往会在附近。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-14
    • 1970-01-01
    • 2014-06-11
    • 2018-06-09
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多