0

将acts_as_solr_reload 的测试套件在Travis-CI 上运行时,测试在3.84 秒上运行,但在专用服务器上我在42 秒上运行!

我希望提高 Ruby/Rails 的测试速度。在这种情况下,外部服务器 - Solr - 也参与了测试。

硬件差异可能不是问题,因为服务器有 Xeon X3430。

Loaded suite /home/braulio/.rvm/gems/ruby-1.8.7-p358@global/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
................................................................
Finished in 42.251154 seconds.

64 tests, 250 assertions, 0 failures, 0 errors

在 Travis-CI 上

Loaded suite /home/vagrant/.rvm/gems/ruby-1.8.7-p358/gems/rake-0.9.2.2/lib/rake/rake_test_loader
Started
................................................................
Finished in 3.846992 seconds.

64 tests, 250 assertions, 0 failures, 0 errors

http://travis-ci.org/#!/coletivoEITA/acts_as_solr_reloaded/jobs/1376476/L172

怎么可能呢?

4

2 回答 2

1

将源代码放在 tmpfs 上就可以了!

在 tmpfs 上仅使用 sqlite 将时间从 42 秒减少到 35 秒。将 solr 和 sqlite 放在 tmpfs 上将时间减少到 2s。

/dev/shm 可用于非根 tmpfs。

于 2012-05-20T13:19:38.083 回答
0

我不知道 Travis-CI,这显然是一个“围栏”问题,但是,你确定测试环境有一个 solr 服务器正在运行并且你能成功使用它吗?

此外,请考虑缩小运行时间的测试范围。以更高的详细程度运行应该可以让您更好地了解时间差异。

于 2012-05-20T09:39:46.633 回答