如何使用乘客增加Rails的线程数?

时间:2018-06-26 22:18:17

标签: ruby-on-rails nginx passenger capistrano3

我有一个Ruby on Rails应用程序,该应用程序在非常特定的时间收到大量请求,有时乘客的请求队列超过100,用户得到503。

如何设置更多线程?

我正在使用Passenger和Nginx,并使用capistrano-passenger gem与Capistrano一起部署。

1 个答案:

答案 0 :(得分:1)

This article在Phusion Passenger中似乎可以直接回答您的问题,并为相关问题提供一些指导。

  

第3步:配置乘客

     

纯单线程多进程方案

     

配置:

passenger_max_pool_size <desired_app_processes>;
passenger_min_instances <desired_app_processes>;
passenger_pre_start to have your app started automatically at web server boot.
     

多线程方案

     

要使用多线程,您必须使用Passenger Enterprise。的   开源版本的Passenger不支持多线程。

     

配置:

passenger_max_pool_size <CHOSEN_NUMBER_OF_PROCESSES>;
passenger_min_instances <CHOSEN_NUMBER_OF_PROCESSES>;
passenger_concurrency_model thread;
passenger_thread_count <desired_app_threads_per_process>;
passenger_pre_start to have your app started automatically at web server boot.
If desired_app_processes is 1, then you should set passenger_spawn_method direct. By using direct spawning instead of
     

智能产卵,乘客不会保持预载程序的状态,   为您节省一些内存(在Spawn方法中了解更多信息)。这是因为   只有一个应用程序时,Preloader进程是无用的   过程。