【问题标题】:Symfony2 Slow on Ubuntu VMSymfony2 在 Ubuntu 虚拟机上运行缓慢
【发布时间】:2012-10-15 06:48:28
【问题描述】:

由于某种原因,当在 VirtualBox 上运行 Ubuntu 12.04 的 VM 以开发模式 (app_dev.php) 提供服务时,我的 Symfony2 安装速度非常慢。在生产模式下它很快(这里没问题)。

当应用在虚拟机外部使用 MAMP 提供服务时,我在分析器中得到以下时间:

总时间:337 毫秒

初始化时间:158 毫秒

从 VM 提供应用程序时,我得到以下时间:

总时间:2069 毫秒

初始化时间:1908 毫秒

在 MAMP 中启用了 Xdebug,但在 VM 上禁用了(启用 xdebug 时速度是原来的两倍)。

知道为什么它在开发模式下的 VM 上会这么慢吗?

更新:

现在处理请求需要 40 秒以上的时间。它从 2 秒开始,然后每次花费的时间越来越长。最终,VM 锁定并冻结。我在终端看到一条消息说 apache 内存不足(apache,而不是 php)。目前,VM 有 1gb 的可用内存(IMO 绰绰有余)。

我没有使用任何类型的共享文件夹。

更新:

由于某种原因,它又开始正常工作了。我什至能够将它缩小到 1 个 CPU,并且它工作得很好。我再次启用了 xdebug,它的加载时间从 200 毫秒变为 800 毫秒(在开发 IMO 中可接受)。我现在的问题是,“为什么会发生这样的事情?”我没有做任何事情使开始变慢,然后突然又变快了。我的 Mac 可能有问题吗?我正在运行 Ubuntu 服务器 12.04(64 位)。

【问题讨论】:

  • 没有共享文件夹,我正在通过 FTP 上传文件。

标签: ubuntu symfony virtualbox


【解决方案1】:
  1. 如果代码在 Windows 上并且它是 samba 共享到 Ubuntu,它会超级慢
  2. 当我在 Amazon EC2 上托管 Symfony2 时,它需要为 c1-medium-highcpu,因为在正常情况下它有点慢并且 CPU 阻塞。为您的 VM 提供另一个 CPU 内核和更多内存。

亚马逊中高CPU规格

1.7 GB 内存 5 个 EC2 计算单元(2 个虚拟内核,每个内核有 2.5 个 EC2 计算单元) 350 GB 的实例存储 32 位或 64 位平台 I/O 性能:中等 EBS 优化可用:否 API 名称:c1.medium

  1. 打开 APC 缓存并在内存缓存中使用。如果 symfony 类缓存在 HDD 上,它会很慢。
  2. 如果以上 3 个都没有逐行比较 php.ini。

【讨论】:

  • 我会检查虚拟机的 CPU 设置,看看会发生什么。
  • 我给了 VM 100% CPU 和 2 个 CPU(内核)!仍然没有喜悦。我使用“top”检查了发生了什么,在请求期间,apache 在 CPU 使用率 75%-100% 之间反弹,内存使用率徘徊在 5% 左右。
  • 尝试启用BIOS CPU 虚拟化功能。他们可能被禁用。作为替代方案,您可以安装没有任何 X11 的 ubuntu 12.04 服务器版本,或者首先在 2d 模式下运行 Unity。 Unity 需要大量资源。如果您无法在没有 GUI 的情况下处理 ubuntu。尝试安装 xubuntu 12.04(带有 xfce 的 ubuntu - 轻量级桌面足以满足单核奔腾)。
  • 你配置APC缓存了吗? symfony.com/doc/current/book/performance.html
  • 我目前正在运行 Ubuntu 服务器。我试试bios设置。我不想使用 APC。我知道它会运行得更快,但如果没有 APC,它不应该有 40 秒的请求时间。
猜你喜欢
  • 2012-11-09
  • 2016-06-11
  • 1970-01-01
  • 2017-05-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
相关资源
最近更新 更多