Ruby on Rails 애플리케이션에서 대역 외 (가비지 수집이 응답 완료 후) 대역 외에서 가비지 수집을 실행하려고합니다. 나는 그러나 내 NewRelic 포털에서 찾고 있어요, 그리고 대부분의 웹 트랜잭션이 적어도 110-150ms 평균하고 가비지 수집에 소요되었음을 나타냅니다 않는유니콘 + 랙으로 대역 외 가비지 수집이 실행 중입니다.
# This file is used by Rack-based servers to start the application.
require ::File.expand_path('../config/environment', __FILE__)
begin
require 'unicorn/oob_gc'
rescue LoadError, NameError
end
# Out-of-band GC, runs GC after every 10th request and after the response
# has been delivered.
begin
use Unicorn::OobGC, interval=10
rescue NameError
end
run MyApp::Application
GC.start
: 나는 내 config.ru에 다음을 추가했다. Unicorn :: OoobGC가 실제 요구 범위를 벗어나기로되어 있습니까? 그렇다면 왜 웹 트랜잭션에이 메시지가 표시됩니까? 가비지 수집에 소요되는 시간을 웹 요청 컨텍스트 외부에서 처리하여 클라이언트 응답 시간이 더 빨리 감지되도록하려면 어떻게합니까? 소요 된 CPU 시간은 요청 파이프 라인을 유지하는 것보다 백그라운드에서 발생해야하기 때문에 여전히 동일합니다.