【发布时间】:2011-02-14 07:05:41
【问题描述】:
我目前在生产中使用带有 ree 1.8.7 的乘客,用于使用 postgresql 作为数据库的 rails 2.3.5 项目。
ab -n 10000 -c 100: 285.69 [#/sec](平均值)
我读到 jruby 应该是最快的解决方案,所以我安装了 jruby-1.5.0.rc2 以及 jdbc postgres 适配器和 glassfish。由于性能真的很差,我也开始使用“jruby --server -J-Druby.jit.threshold=0 script/server -e production”来运行我的应用程序。反正我只会得到
ab -n 10000 -c 100: 43.88 [#/sec](平均值)
线程安全!在我的 rails 配置中激活。 Java 似乎使用了所有内核,cpu 使用率在 350% 左右(顶部)。
红宝石-v: jruby 1.5.0.RC2 (ruby 1.8.7 patchlevel 249) (2010-04-28 7c245f3) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_16) [amd64-java]
我想知道我做错了什么以及如何使用 jruby 获得比使用 ree 更好的性能?
谢谢, 科林
【问题讨论】:
-
试试 JRuby 1.4 而不是最新的 RC。此外,尝试增加 JVM 中的内存和 permgen 空间。这对我有用,YMMV。 blogs.sun.com/watt/resource/jvm-options-list.html
-
我听说有些人通过将连接池设置为 1 来获得成功。一般来说,jruby 需要大约两倍的时间...
标签: ruby-on-rails jruby performance