Skip to content
On this page

Análise de Peformance

Para analisar a performance da aplicação usaremos a gem derailed_benchmarks, para configurar siga os seguintes passos:

  • 1 Configure o ambiente de production em develop:

    • Crie um arquivo config/crendentials/production.key e coloque a master key de produção (Peça a chave para o João)
    • Utilize o comando EDITOR="nano" bin/rails credentials:edit --environment production e edite as configurações do banco de dados (Cuidado para não mandar essas mudanças no git)
    • É interessante utilizar um backup de produção para ter um teste mais realista
  • 2 Configure a autenticação com o doorkeeper:

    • Troque o before_action :require_login pelo seguinte trecho de código, no controller que você deseja testar:
    ruby
    before_action :doorkeeper_authorize!
    
    def current_user
      User.find(doorkeeper_token.resource_owner_id) if doorkeeper_token
    end
    
    • Consiga a chave de autenticação do usuário que você quer utilizar para fazer o teste utilizando o comando RAILS_ENV=production rails c, crie uma applicação doorkeeper utilizando Doorkeeper::Application.create(name: 'TestApp', uid: "AnOOk0XSPxcmvDXZDTxNFE12yptzXnH2KwAIBIFafCE", redirect_uri: '', confidential: false) e faça um request para obter o access_token que pode ser pelo HTTParty no próprio terminal:
    ruby
         HTTParty.post("http://localhost:3000/api/oauth/token", body: {
           "grant_type": "password",
           "email": "user_email",
           "password": "user_password",
           "client_id": "AnOOk0XSPxcmvDXZDTxNFE12yptzXnH2KwAIBIFafCE"
           }
         )
    
  • Por fim realize os testes utilizando o derailed: HTTP_AUTHORIZATION='Bearer {access_token}' PATH_TO_HIT='/library/library/livros' IPS_TIME=10 derailed exec perf:ips