2010-04-30 3 views
1

J'utilise actuellement un passager avec un ree de 1,8.7 en production pour un projet rails 2.3.5 utilisant postgresql comme base de données.rails utilisant jruby 1.5 - lent!

ab -n 10000 -c 100: 285,69 [#/sec] (moyenne)

Je lis JRuby devrait être la solution la plus rapide, donc j'ai installé JRuby-1.5.0.rc2 avec adaptateur postgres et jdbc glassfish. Comme la performance est vraiment mauvaise, j'ai aussi commencé à lancer mon application en utilisant "jruby --server -J-Druby.jit.threshold = 0 script/serveur -e production". Quoi qu'il en soit, je ne reçois que

ab -n 10000 -c 100: 43,88 [#/sec] (moyenne)

thread_safe! est activé dans mes rails config. Java semble utiliser tous les cœurs, l'utilisation du processeur est d'environ 350% (en haut).

-v rubis: JRuby 1.5.0.RC2 (rubis 1.8.7 patchlevel 249) (2010-04-28 7c245f3) (Java HotSpot (TM) 64 bits serveur VM 1.6.0_16) [amd64-java Je me demande ce que je fais de mal et comment obtenir un meilleur rendement avec jruby qu'avec ree?

Merci, Corin

+0

Essayez JRuby 1.4 plutôt que le dernier RC. Essayez également d'augmenter la mémoire et l'espace permgen dans la machine virtuelle Java. Cela a fonctionné pour moi, YMMV. http://blogs.sun.com/watt/resource/jvm-options-list.html – sal

+0

J'ai entendu dire que certaines personnes avaient du succès en mettant leur pool de connexion à la taille 1. En général, pour moi, jruby prend environ deux fois plus de temps. .. – rogerdpack

Répondre

0

Je viens d'installer 1.4.1 et optimiser ma config GlassFish. Mais il ne permet pas du tout:

pauvre 50,61 [#/sec] (moyenne)

JRuby 1.4.1 (Ruby 1.8.7 patchlevel 174) (2010-04-26 ea6db6a) (Java HotSpot (TM) Serveur VM 64 bits 1.6.0_16) [amd64-java]

-server -Dcom.sun.akuma.Daemon = démonisé -Xmx2500m -Xms64m -XX: PermSize = 256m -XX: MaxPermSize = 256m - XX: NewRatio = 2 -XX: + DisableExplicitGC -Dhk2.file.directory.changeIntervalTimer = 6000 -serveur -Djruby.memory.max = 500m -Djruby.stack.max = 1024k -Xss1024k -Djna.boot.library.path =/usr/local/rvm/rubies/jruby-1.4.1/lib/natif/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/lib/natif/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

Questions connexes