Рельсы с использованием Jruby 1,5 - медленно! - PullRequest
1 голос
/ 30 апреля 2010

В настоящее время я использую пассажиров с ree 1.8.7 в производстве для проекта rails 2.3.5 с использованием postgresql в качестве базы данных.

ab -n 10000 -c 100: 285,69 [# / сек] (среднее значение)

Я прочитал, что 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 [# / сек] (среднее значение)

Thread_safe! активирован в моем конфиге рельсов. Java, кажется, использует все ядра, загрузка процессора составляет около 350% (вверху).

ruby ​​-v: jruby 1.5.0.RC2 (уровень исправления ruby ​​1.8.7 249) (2010-04-28 7c245f3) (64-разрядный сервер Java HotSpot (TM) VM 1.6.0_16) [amd64-java]

Интересно, что я делаю не так и как добиться лучшего выступления с Джруби, чем с Ри?

Спасибо, Корин

1 Ответ

0 голосов
/ 30 апреля 2010

Я только что установил 1.4.1 и оптимизировал конфигурацию Glassfish. Но это совсем не помогает:

плохо 50,61 [# / сек] (среднее значение)

jruby 1.4.1 (уровень исправления ruby ​​1.8.7 174) (2010-04-26 ea6db6a) (64-разрядный сервер Java HotSpot (TM) 1.6.0_16) [amd64-java]

-server -Dcom.sun.akuma.Daemon = daemonized -Xmx2500m -Xms64m -XX: PermSize = 256 м = 6000 -сервер -Djruby.memory.max = 500 м -Djruby.stack.max = 1024k -Xss1024k -Djna.boot.library.path = / usr / local / rvm / rubies / jruby-1.4.1 / lib / native / linux-amd64: /usr/local/rvm/rubies/jruby-1.4.1/lib/native/linux-i386 -Djffi.boot.library.path = / usr / local / rvm / rubies / jruby-1.4.1 / Библиотека / нативный / i386-Linux: /usr/local/rvm/rubies/jruby-1.4.1/lib/native/s390x-Linux: /usr/local/rvm/rubies/jruby-1.4.1/lib/native/ x86_64-Linux -Xbootclasspath / a: /usr/local/rvm/rubies/jruby-1.4.1/lib/jruby.jar: /usr/local/rvm/rubies/jruby-1.4.1/lib/bsf.jar - classpath /usr/local/rvm/rubies/jruby-1.4.1/lib/jruby.jar:/usr/local/rvm/rubies/jruby-1.4.1/lib/profile.jar: -Djruby.home = / usr /local/rvm/rubies/jruby-1.4.1 -Djruby.lib = / usr / local / rvm / rubies / jruby-1.4.1 / lib -Djruby.script = jruby -Djruby.shell = / bin / sh org. jruby.Main /usr/local/rvm/gems/jruby-1.4.1/bin / GlassFish

...