使用lein测试时速度一致的问题

时间:2017-08-17 14:33:14

标签: performance testing clojure jvm leiningen

免责声明 - 我在2012年中期的macbook air i7-3667U和8gb ram上使用64位jvm运行。

运行应用程序lein t的测试套件正在运行,我认为速度异常缓慢。大多数测试涉及mongo db(创建和删除表/集合)。我已经转移到允许在内存中运行的monngodb企业。因为我认为瓶颈是db io。

使用mongo.conf

storage:
   engine: inMemory
   dbPath: /Users/beoliver/data/testdb
   inMemory:
      engineConfig:
         inMemorySizeGB: 1

mongo以标记--conf ~/path/to/mongo.conf

开头

我将java标志添加到项目中

:jvm-opts ["-XX:-OmitStackTraceInFastThrow" "-Xmx4g" "-Xms1g"]

尽量避免额外掉期。

这似乎解决了问题,测试运行如下:

time lein t
...
lein t  238.71s user 8.72s system 59% cpu 6:57.92 total

与其他团队成员的结果相比,这是合理的。

然后再次重新运行测试,速度又恢复到原来的速度(半小时标记)。

lein t  252.53s user 13.76s system 16% cpu 26:52.45 total
cpu使用率达到50%左右,但大部分时间约为<5%(包括空闲时间<1%)

Real memory size: 1.55 GB
Virtual memory size : 8.08 GB
Shared Memory Size: 18.0 MB
Private Memory Size : 1.67 GB

有没有人有类似的经历?建议?有没有一种好的分析方法 - 比从Activity监视器开始更好?

0 个答案:

没有答案