88 votes

Webrick est très lent à répondre. Comment l'accélérer ?

J'ai une application Rails que j'exécute sur mon serveur. Lorsque je me rends sur un bureau distant et que j'essaie de charger l'application, le serveur met 3 à 4 minutes pour répondre avec une simple page HTML. Cependant, lorsque je charge la page localement sur le serveur, la page s'affiche en une seconde seulement. J'ai essayé d'envoyer un ping au serveur à partir de mon bureau à distance et les pings sont envoyés avec succès dans un délai raisonnable.

Tout cela semble avoir commencé après que j'ai installé le client de base d'Oracle et SQLPLUS. Dois-je soupçonner Oracle ? Quelqu'un a-t-il déjà rencontré un problème similaire ?

5voto

Vous pouvez utiliser Apache ou installer Thin . Dans votre Gemfile : gem 'thin'

Ou vous pouvez consulter la liste des Serveurs web pour rails .

2voto

Terry Lorber Points 1897

Utilisez le bâtard ! Webrick est notoirement lent.

2voto

patrick-davey Points 366

J'ai essayé de faire cela avec webrick en 1.8.7 et je n'ai pas trouvé la configuration à modifier. Cependant, une astuce que vous pouvez utiliser est d'ajouter au fichier hosts du serveur qui exécute webrick l'adresse IP qu'il essaie d'inverser

2voto

neoneye Points 11545

Je rencontrais fréquemment des retards de 10 secondes avec Sinatra. Cet extrait a résolu le problème pour moi.

Ajoutez ceci en haut de votre app.rb fichier

class Rack::Handler::WEBrick
    class << self
        alias_method :run_original, :run
    end
    def self.run(app, options={})
        options[:DoNotReverseLookup] = true
        run_original(app, options)
    end
end

Voir source

0voto

Nabil Kadimi Points 2109

Dans ma situation -probablement- rare, cela a fonctionné après que j'ai vidé mon iptables, cela n'a pas eu d'effets secondaires parce que je n'avais pas de règles personnalisées (juste le défaut Ubuntu allow all) :

sudo iptables -F

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X