2010-04-30 1 views
1

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

AB -n 10000 -c 100: 285,69 [#/сек] (средний)

Я прочитал JRuby должен быть быстрым решением, так что я установил JRuby-1.5.0.rc2 вместе с адаптером Postgres JDBC и стеклянная рыба. Поскольку производительность действительно неудовлетворительная, я также начал запускать свое приложение, используя «jruby -server -J-Druby.jit.threshold = 0 script/server -e production». Во всяком случае, я только получаю

аЬ -n 10000 -c 100: 43.88 [#/сек] (средний)

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

рубинового -v: JRuby 1.5.0.RC2 (рубин 1.8.7 249 номер патчи) (2010-04-28 7c245f3) (Java HotSpot (ТМ) 64-разрядный сервер VM 1.6.0_16) [amd64-Java ]

Интересно, что я делаю неправильно и как улучшить работу с jruby, чем с ree?

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

+0

Попробуйте JRuby 1.4, а не последний RC. Кроме того, попробуйте увеличить объем памяти и пространство перменов в JVM. Это сработало для меня, YMMV. http://blogs.sun.com/watt/resource/jvm-options-list.html – sal

+0

Я слышал, что некоторые люди добились успеха, установив свой пул соединений в размере 1. В общем, для меня jruby занимает примерно в два раза больше. .. – rogerdpack

ответ

0

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

бедных 50.61 [#/сек] (средний)

JRuby 1.4.1 (рубин 1.8.7) 174 номера патчей (2010-04-26 ea6db6a) (Java HotSpot (TM) 64-разрядный сервер VM 1.6.0_16) [amd64-java]

-server -Dcom.sun.akuma.Daemon = daemonized -Xmx2500m -Xms64m -XX: PermSize = 256m -XX: MaxPermSize = 256m - XX: NewRatio = 2 -XX: + DisableExplicitGC -Dhk2.file.directory.changeIntervalTimer = 6000 -server -Djruby.memory.max = 500m -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/местные/РВМ/рубины/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