2015-01-19 13 views
11

Niedawno zaktualizowałem tory z wersji 4.0.4 do 4.2, a także zależne od nich zalety. Uruchomiłem aplikację na serwerze pumy, a także zaktualizowałem puma gem do najnowszej wersji stabilnej.Super powolna wydajność po aktualizacji 4.2 kolejki

Problem jest, po aktualizacji, większość moich czasów żądanie poszedł od 1-2 sekund do 30 +, w wyniku Heroku limit czasu

plik połączenia Puma

# Force heroku to bigger conenction pool 
Rails.application.config.after_initialize do 
    ActiveRecord::Base.connection_pool.disconnect! 

    ActiveSupport.on_load(:active_record) do 
    config = ActiveRecord::Base.configurations[Rails.env] || Rails.application.config.database_configuration[Rails.env] 
    config['reaping_frequency'] = ENV['PUMA_DB_REAP_FREQ'] || 10 # Seconds 
    config['pool']    = ENV['PUMA_DB_POOL'] || 20 # Puma can run up to 16 threads, perfect will be 80 (5x16), but heroku max is 20 for dev and basic 
    ActiveRecord::Base.establish_connection(config) 
    end 
end 

Gemfile (tylko istotne klejnoty)

source 'https://rubygems.org' 
ruby '2.0.0' 
gem 'puma', '2.10.2' 
gem 'rails', '~> 4.2.0' 
gem 'pg', '~> 0.18.0' 
gem 'heroku' 
gem 'responders', '~> 2.0' 

Każdy pomysł na to, dlaczego doszło do tak wielkiej zmiany czasu oczekiwania?

+0

Czy czytasz dzienniki aplikacji, serwera i db? – rafaels88

+0

Tak, używam New Relic. Dokładne te same zapytania i metody po aktualizacji wymagają dużo więcej czasu, aby je uruchomić. Z jakiegoś powodu – Tarlen

+0

Widzę coś bardzo podobnego. Mając nadzieję usłyszeć rozwiązanie. Jeśli znajdę rozwiązanie, opublikuję tutaj. – Aaron

Odpowiedz

2

Istnieje kilka znanych problemów dotyczących Rails 4.2.0, które zostały zaadresowane, ponieważ zostały opublikowane, w tym: https://github.com/rails/rails/issues/18029. Wersja 4.2.1 dostarcza ulepszeń, które mogą lepiej zaspokoić twoje potrzeby.

Jeśli korzystasz z 4.2.1 z Engine Yard i nadal występują problemy, złóż zgłoszenie za pomocą funkcji Engine Yard Support, abyśmy mogli pomóc Ci zbadać to dalej.

0

Istnieje ten problem z szafą: https://github.com/rails/rails/issues/18828, który spowodował poważne spowolnienia w rozwoju.

Zastosuj poprawkę wymienioną w tym wątku: "With options [: OutputBufferSize] = 5 skomentował z rack-1.6.0/lib/rack/handler/webrick.rb".

Można alternatywnie edytować plik Gemfile i aktualizować stojak, aby można go było również obsłużyć z głównego repozytorium github, po jego poprawieniu. Jest to should be fixed w następnej wersji Railsowej (prawdopodobnie 4.2.2).

Powiązane problemy