Edge Rails: Criando testes de performace

30 de junho de 2008  |  Rails 2.2  | 

Eu ainda não consegui testar direito esta nova funcionalidade, mas para a próxima versão do Rails teremos um novo generator para testes de performace.

Ao executar no terminal o seguinte comando:

[carlosbrando:edge]$ ./script/generate performance_test Login
      exists  test/performance/
      create  test/performance/login_test.rb

Será criado um arquivo chamado test/performance/login_test.rb. Veja o código gerado:

require 'performance/test_helper'

class LoginTest < ActionController::PerformanceTest
  # Replace this with your real tests.
  def test_homepage
    get '/'
  end
end

Neste arquivo podemos colocar todos os testes que desejarmos e ao executá-lo teremos informações sobre cada um dos testes como tempo de processamento, uso de memória e outros. Para realizar o teste executamos no terminal:

[carlosbrando:edge]$ ruby test/performance/login_test.rb
Loaded suite test/performance/login_test
Started
LoginTest#test_homepage (32 ms warmup)
        process_time: 11 ms
              memory: unsupported
             objects: unsupported
.
Finished in 0.870842 seconds.

Acredito que esta implementação ainda não está 100%, tanto que não consegui testar corretamente. Mas vou continuar de olho e aviso quando tivermos novidades sobre isto.



2 Comentários


  1. Interessante.

    2 perguntas:
    - Existe uma forma de ele executar X vezes e me retornar a média de tempo gasto? Acho mais confiável do que executar apenas uma vez.

    - Sabes se já existe ou está planejado alguma ferramenta para fazer uma comparação entre os resultados? Isso seria bem interessante.

    []s

  2. Vitor, quanto a primeira pergunta, até agora não apareceu nada deste tipo, mas acho meio difícil aparecer… mas de qualquer forma é algo simples de se implementar, mas não sei se realmente é necessário.

    Quanto a segunda, também não acredito que o core team faça, já que a idéia é rodar uma vez, alterar o código, rodar de novo e ver se ficou mais rápido ou lento… então não precisaria de uma ferramenta para isto.

    Mas como eu disse no post, é tudo muito novo, algumas coisas ainda nem estão funcionando direito… então nunca se sabe o que pode vir por aí.

Trackbacks

  1. Nome do Jogo » Artigo » Edge Rails: Melhorando a performace do Rails

Deixe um comentário