У меня есть сервер Ubuntu 14.04, работающий под управлением Apache 2.4 и Passenger 5.3.7, который, согласно нашему мониторингу времени безотказной работы, недоступен с возрастающей частотой.Сначала я предположил, что это возможно из-за ошибки в apache (https://serverfault.com/questions/891706/debian-8-apache-2-4-10-scoreboard-is-full-not-at-maxrequestworkers), но настройка масштабирования не дала эффекта.
Прямо сейчас при просмотре файла apache error.log, единственной распространеннойя вижу ошибку
App 10990 output: [ 2018-12-30 07:26:06.8186 10990/0x0000000004ac5e78(Worker 1) utils.rb ]: *** Exception Errno::ECONNRESET in Rack response body object (Connection reset by peer) (process 10990, thread 0x0000000004ac5e78(Worker 1)):
App 10990 output: from /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.3.7/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb:115:in `write'
App 10990 output: from /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.3.7/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb:115:in `write'
App 10990 output: from /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.3.7/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:283:in `block in process_body'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `block in each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `block in each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `block in each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `block in each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `block in each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/active-fedora-11.5.2/lib/active_fedora/file/streaming.rb:33:in `block (3 levels) in each'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/protocol.rb:433:in `call_block'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/protocol.rb:424:in `<<'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/protocol.rb:124:in `read'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/http/response.rb:293:in `block in read_body_0'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/http/response.rb:278:in `inflater'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/http/response.rb:283:in `read_body_0'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/http/response.rb:204:in `read_body'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/active-fedora-11.5.2/lib/active_fedora/file/streaming.rb:32:in `block (2 levels) in each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/aws-sdk-core-3.6.0/lib/seahorse/client/net_http/patches.rb:39:in `block in new_transport_request'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/http/response.rb:165:in `reading_body'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/aws-sdk-core-3.6.0/lib/seahorse/client/net_http/patches.rb:38:in `new_transport_request'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/http.rb:1464:in `request'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/active-fedora-11.5.2/lib/active_fedora/file/streaming.rb:29:in `block in each'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/http.rb:910:in `start'
App 10990 output: from /usr/local/lib/ruby/2.5.0/net/http.rb:609:in `start'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/active-fedora-11.5.2/lib/active_fedora/file/streaming.rb:27:in `each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/actionpack-5.0.7.1/lib/action_dispatch/http/response.rb:145:in `each_chunk'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/actionpack-5.0.7.1/lib/action_dispatch/http/response.rb:126:in `each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/actionpack-5.0.7.1/lib/action_dispatch/http/response.rb:74:in `each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/actionpack-5.0.7.1/lib/action_dispatch/http/response.rb:473:in `each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `each'
App 10990 output: from /opt/sufia-project/shared/bundle/ruby/2.5.0/gems/rack-2.0.6/lib/rack/body_proxy.rb:36:in `each'
App 10990 output: from /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.3.7/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:282:in `process_body'
App 10990 output: from /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.3.7/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb:145:in `process_request'
App 10990 output: from /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.3.7/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:149:in `accept_and_process_next_request'
App 10990 output: from /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.3.7/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb:110:in `main_loop'
App 10990 output: from /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.3.7/src/ruby_supportlib/phusion_passenger/request_handler.rb:415:in `block (3 levels) in start_threads'
App 10990 output: from /usr/local/lib/ruby/gems/2.5.0/gems/passenger-5.3.7/src/ruby_supportlib/phusion_passenger/utils.rb:113:in `block in create_thread_and_abort_on_exception'
Более ранний вопрос переполнения стека ( Пассажир продолжает выдавать ошибку соединения ) подразумевает, что это могут быть просто клиенты, разрывающие соединение, это единственная ошибка, которая все еще регулярно появляется вжурнал ошибок apache, так что мне интересно, может ли он говорить о какой-то другой проблеме, с которой мы столкнулись.