使用 Virtualbox + Ubuntu + Nginx + PHP-FPM + Silex 的低 TPS


Low TPS using Virtualbox + Ubuntu + Nginx + PHP-FPM + Silex

我试图理解为什么我的开发环境得到如此低的 TPS 速率。

我正在使用以下内容:

  • Mac OS X Mavericks
  • 虚拟盒子
  • 乌班图14.04
  • 恩金克斯
  • PHP5-FPM
  • 西莱克斯

我没有对配置进行太多调整,只是nginx启用silex前控制器。

使用 JMeter,我正在测试这个环境每秒可以处理多少个请求,到目前为止我看到的是每秒 ~14 个事务。我正在点击的端点是一个简单的 hello 世界,吐出硬编码的 json 响应。

起初我以为nginx或php不接受并发连接,但看起来默认情况下它是启用的。

如果我运行一个线程,每个

请求需要 70 毫秒左右,如果我运行 10 个线程,每个线程需要接近一秒,依此类推。无论我有多少线程,吞吐量都是 13/14 tps。当我运行这个时,top显示所有 5 个 php5-fpm 进程每个进程占用大约 20% 的 CPU。

我做错了什么还是意料之中?

发现问题,是Virtualbox共享非常慢。将代码移动到 VM 上的文件夹会导致 TPS 增加 15 倍。