Php Kohana的HHVM设置

Php Kohana的HHVM设置,php,kohana,hhvm,Php,Kohana,Hhvm,我有一个运行Kohana 3.1的应用程序,NGINX和PHP-FPM。我试图用HHVM代替PHP-FPM来处理更多的请求 代码是 public function action_test(){ echo 'Hi'; } 在每秒100个请求的情况下,CPU将达到200%,平均负载将达到15 如果我用静态php文件替换Kohana。同一台服务器可以处理200个请求,平均负载仅为3 对于Kohana,HHVM的性能比PHP-FPM差。我的配置有问题吗 Server { Port = 900

我有一个运行Kohana 3.1的应用程序,NGINX和PHP-FPM。我试图用HHVM代替PHP-FPM来处理更多的请求

代码是

public function action_test(){
    echo 'Hi';
}
在每秒100个请求的情况下,CPU将达到200%,平均负载将达到15

如果我用静态php文件替换Kohana。同一台服务器可以处理200个请求,平均负载仅为3

对于Kohana,HHVM的性能比PHP-FPM差。我的配置有问题吗

Server {
 Port = 9000
  Type = fastcgi
  SourceRoot = /mypath/to/php/repo
  DefaultDocument = index.php
  ThreadCount = 20
}

Eval {
  Jit = true
  EnableObjDestructCall = true
}
Log {
  Level = Warning
  UseLogFile = true
  File = /var/log/hhvm/error.log
  InjectedStackTrace = true
  NativeStackTrace = true
  NoSilencer = on
  Header = on
  Access {
    * {
      File = /var/log/hhvm/access.log
      Format = %h %l %u %t \"%r\" %>s %b
    }
  }
}

VirtualHost {
  * {
    Pattern = .*
    RewriteRules {
      dirindex {
        pattern = ^/(.*)/$
        to = $1/index.php
        qsa = true
      }
    }
  }
}
StaticFile {
  FilesMatch {
    * {
      pattern = .*\.(dll|exe)
      headers {
        * = Content-Disposition: attachment
      }
    }
  }
  Extensions {
    css = text/css
    gif = image/gif
    html = text/html
    jpe = image/jpeg
    jpeg = image/jpeg
    jpg = image/jpeg
    png = image/png
    tif = image/tiff
    tiff = image/tiff
    txt = text/plain
  }
}
ResourceLimit {
    CoreFileSize = 0          # in bytes
    MaxSocket = 50000         # must be not 0, otherwise HHVM will not start
    SocketDefaultTimeout = 5  # in seconds
    MaxRSS = 0
    MaxRSSPollingCycle = 0    # in seconds, how often to check max memory
    DropCacheCycle = 0        # in seconds, how often to drop disk cache
}

问题是否由磁盘引起?我们正在运行一个非常繁重的平台,有成百上千的并发用户,每个请求都有成百上千的数据库调用(DB服务器在同一台服务器上),并且我们没有达到静态脚本的负载级别。Nginx和HHVM日志访问日志(如果代码中有错误日志,可能还有错误日志)。大量日志记录可能会增加i/o等待时间。您是否可以运行
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
并粘贴结果?以下是复制的1073741824字节(1.1 GB),45.4716秒,23.6 MB/s我正在监视iostat extended,但这并没有显示任何警报,我认为线程的数量是罪魁祸首。我在ec2 m3.L上,它有2个vCPU。当我将线程数减少到20个时,它能够在1个平均负载下处理100个请求。但这会以每秒200个请求的速度中断。您的磁盘速度似乎相当慢。CPU的数量当然也起着重要的作用。2个cpu内核应该很难同时执行20个线程。经验法则是2-4个线程。如果代码没有太多的I/O(为了证明中断的合理性),我假设线程应该开始互相阻塞