ubuntu - Rspec 在 Ubuntu 上非常慢,但在 Mac 上很快

标签 ubuntu ruby-on-rails-3.2 capybara phantomjs rspec2

我在用:

Rails 3.2.13

Ruby 1.9.3-p448

rvm 1.22.17 (master)

phantomjs 1.9.2 (binary downloaded from site)

Ubuntu 13.04 (64 bit)

Rspec 2.12.2

rspec-rails 2.12.0

poltergeist 1.3.0

capybara 2.1.0

sqlite3 1.3.5



具有以下规范的华硕笔记本电脑:

Memory: 7.7 GiB

Processor: Intel® Core™ i7-2640M CPU @ 2.80GHz × 4

Graphics (onboard): Intel® Sandybridge Mobile

Regular HDD (not SSD)



我在工作中使用 2011 年中的 iMac,rspec 测试套件在大约 5 分钟内运行。它很慢,但可以忍受。

我在家使用 Ubuntu,没有 Mac。我想在我的 Ubuntu 机器上做一些工作。测试套件大约需要 30 分钟! (第一次花了一个小时!)

我认为这是 capyabara/phantomjs 的错,但我不确定。这些测试似乎是最慢的。其他测试似乎也很慢,但 headless js 的测试似乎很慢。

我尝试了很多事情:
  • 更新了 rspec-rails、capybara 和 poltergiest gems(尽管这无论如何都不是一个长期的解决方案,因为我需要与作品 gemfile 保持一致)
  • 更新了 RVM
  • 保存更改为 Ruby 2,这是最新版本(同样,我希望尽可能接近工作规范)
  • 咨询 in this thread将屏障=0 添加到 fstab
  • 使用 zeus gem 运行(尽管这似乎没有向 simplecov 报告任何内容让我看到覆盖范围)
  • 通过 phantomjs、capybara、rspec 和 poltergeist 问题跟踪器搜索类似问题,但徒劳无功。

  • 到目前为止,我最好的时间是在 30 分钟左右。仅运行我的功能测试大约需要 30 分钟(所以我相当肯定这些是缓慢的)。

    我在网上看到了一些相当令人生畏的指南,它们以牺牲稳定性为代价来更多地更改 fstab 以获得更快的 ext4 性能。也许我只是有一台糟糕的笔记本电脑?不知道,觉得规范还行。

    我差一点就买一台 Mac(并负债)来完成一些工作。还有什么我可以做的吗,或者还有其他我没有想到的问题/想法吗?

    最佳答案

    您是否尝试过 Zeus gem 来加快速度?这是 Ryan Bates 的精彩截屏(免费),展示了宙斯如何加快速度 http://railscasts.com/episodes/412-fast-rails-commands

    另请查看以下屏幕截图:

    如果上述截屏不能解决您的问题,请尝试“快速测试”截屏,其中 Ryan 向您展示如何使用 Zeus 和各种其他工具加快测试速度。
    [需要专业版订阅] http://railscasts.com/episodes/413-fast-tests

    http://railscasts.com/episodes/285-spork

    关于ubuntu - Rspec 在 Ubuntu 上非常慢,但在 Mac 上很快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19206301/

    相关文章:

    ruby - 站点棱镜, capybara : Selector with variable

    ubuntu - 尝试通过 ssh [ubuntu] 恢复我的服务器的 sudo 密码

    php - 编译的 PHP 扩展无效

    ruby-on-rails - 默认情况下是否可以从我的 Rails 应用程序中删除 public/index.html?

    mysql - 运行delayed_job时出现未知别名错误

    ruby-on-rails - 如何在带有 Selenium 的 Capybara 中使用 ruby​​-debug

    ruby-on-rails - Dockerized selenium 浏览器无法访问 Capybara 测试 url

    java - 在 Java 中执行 Bash 脚本返回 Null

    python - 双击通过bash脚本在控制台中执行python脚本

    javascript - Rails 3.2.13 - 没有路线匹配 [GET] "/js/jquery.fancybox.js"