J'ai une application et il est seul contrôleur, une action est ainsi configuré:Nouveau sur Rails, ce type de performance est-il normal?
def do_call
response = <<EOF
<real-time-stat>
<awt type="integer">1</awt>
<cc type="integer">5</cc>
<cp type="integer">0</cp>
<dc type="integer">0</dc>
<ef type="float">100.0</ef>
<rc type="integer">6</rc>
<sl type="float">100.0</sl>
<state type="integer">0</state>
<ts type="datetime">2009-07-24T10:36:57Z</ts>
<wc type="integer">0</wc>
<wprc type="float">0.0</wprc>
<real-time-stat>
EOF
respond_to do |format|
format.xml { render :xml => response }
end
end
Ceci est un test pour une action qui, à l'avenir, récupérer les champs d'une base de données MySQL. Cependant, en exécutant ce code en mode production, à partir d'un LOCAL serveur WEBrick sur le port 3000 fonctionnant sur un Pentium 4 (un peu vieux, mais dual core), j'obtiens des temps de réponse (mesurés par YSlow, un Yahoo! add-on pour Firebug) de 175 à 500 millisecondes (très fluctuant)!
C'est normal? Est-ce que je le fais mal? Considérant que je souhaite agréger plusieurs requêtes dans une seule réponse et XML-ify toutes (pour utiliser avec ActiveResource), je reçois des cloches en disant qu'il ne peut pas évoluer ...: |
Merci pour vos commentaires!
EDIT: changer en Mongrel ne change pas beaucoup la situation, toujours 175-300 ms par réponse. Cependant, les journaux montrent 0 à 15 ms par requête "terminée" (200 OK). La différence est-elle attribuable au rendu de XML par Firefox? Sinon, d'où cela vient-il?
Oui, l'heure sur le serveur et l'heure de rendu dans le navigateur peuvent être des choses très différentes. Si vous êtes inquiet à propos des performances, consultez les screencasts sur les rails d'échelle de Greg Pollack de Rails Envy. – nitecoder