Медленный начальный сервер запускается при использовании Пассажира Phusion и направляющих

Я предполагаю, что вы используете исторический клиент, встроенный в InTouch. Я также предполагаю, что вы строите все 4 тега с 1 осью, а не с 4 отдельными осями.

Из руководства пользователя Historian (v.10.6):

Вы можете масштабировать один или все теги в тренде вверх или вниз. Если вы уменьшите тег, диапазон значений увеличится на треть. Например, если масштаб от 10 до 70, он становится от 0 до 80. Если вы увеличиваете масштаб тега, диапазон значений уменьшается на одну четверть. Например, если шкала от 0 до 80, она становится от 10 до 70.

Чтобы увеличить масштаб одиночного тега, выполните одно из следующих действий:

  1. В меню «Диаграмма» укажите «Масштабировать тег», а затем нажмите «Масштабировать».
  2. Нажмите кнопку панели инструментов «Увеличение масштаба»

Чтобы уменьшить масштаб одного тега, выполните одно из следующих действий:

  1. В меню «Диаграмма» выберите «Масштабировать тег» и затем нажмите Уменьшить.
  2. Нажмите кнопку «Уменьшить масштаб»
.
87
задан tsdbrown 12 May 2009 в 15:57
поделиться

4 ответа

Происходит то, что ваше приложение и / или ApplicationSpawners закрываются из-за тайм-аута. Чтобы обработать ваш новый запрос, Passenger должен запустить новую копию вашего приложения, что может занять несколько секунд даже на быстрой машине. Чтобы решить эту проблему, есть несколько параметров конфигурации Apache, которые вы можете использовать для поддержания активности вашего приложения.

Вот что я сделал на своих серверах. PassengerSpawnMethod и PassengerMaxPreloaderIdleTime - это наиболее важные параметры конфигурации в вашей ситуации.

# Speeds up spawn time tremendously -- if your app is compatible. 
# RMagick seems to be incompatible with smart spawning
# Older versions of Passenger called this RailsSpawnMethod
PassengerSpawnMethod smart

# Keep the application instances alive longer. Default is 300 (seconds)
PassengerPoolIdleTime 1000

# Keep the spawners alive, which speeds up spawning a new Application
# listener after a period of inactivity at the expense of memory.
# Older versions of Passenger called this RailsAppSpawnerIdleTime
PassengerMaxPreloaderIdleTime 0

# Just in case you're leaking memory, restart a listener 
# after processing 5000 requests
PassengerMaxRequests 5000

Используя «умный» режим создания и отключив PassengerMaxPreloaderIdleTime, Passenger будет постоянно хранить в памяти 1 копию вашего приложения (после первого запроса после запуска Apache ). Отдельные слушатели приложения будут fork ed из этой копии, что является сверхдешевой операцией. Это происходит так быстро, что вы не можете сказать, должно ли ваше приложение порождать слушателя.

Если ваше приложение несовместимо с умным порождением, я бы рекомендовал сохранить большое время PassengerPoolIdleTime и периодически заходить на ваш сайт, используя curl и cronjob или monit или что-то еще, чтобы гарантировать, что слушатель останется в живых.

Passenger User Guide - отличный справочник по этим и другим параметрам конфигурации.

edit : Если ваше приложение несовместимо с умным порождением, есть несколько новых опций , которые очень хороши

# Automatically hit your site when apache starts, so that you don't have to wait
# for the first request for passenger to "spin up" your application. This even
# helps when you have smart spawning enabled. 
PassengerPreStart http://myexample.com/
PassengerPreStart http://myexample2.com:3500/

# the minimum number of application instances that must be kept around whenever 
# the application is first accessed or after passenger cleans up idle instances
# With this option, 3 application instances will ALWAYS be available after the
# first request, even after passenger cleans up idle ones
PassengerMinInstances 3

Итак, если вы объедините PassengerPreStart и PassengerMinInstances, Passenger запустит 3 экземпляра сразу после загрузки apache и всегда будет поддерживайте как минимум 3 экземпляра, чтобы ваши пользователи редко (если вообще) видели задержку.

Или, если вы используете интеллектуальное создание (рекомендуется) с PassengerMaxPreloaderIdleTime 0 , вы можете добавить PassengerPreStart , чтобы получить дополнительную выгоду от немедленного запуска.

Большое спасибо героям на phusion.nl !

118
ответ дан 24 November 2019 в 07:48
поделиться

RE:

# Additionally keep a copy of the Rails framework in memory. If you're 
# using multiple apps on the same version of Rails, this will speed up
# the creation of new RailsAppSpawners. This isn't necessary if you're
# only running one or 2 applications, or if your applications use
# different versions of Rails.
RailsFrameworkSpawnerIdleTime 0

Just something to add and might be useful.

The default spawn method in the current release is "smart-lv2", which skips the framework spawner, so setting the framework spawner timeout wouldn't have effect anyway unless you explicitly set the spawn method to "smart".

Source: http://groups.google.com/group/phusion-passenger/browse_thread/thread/c21b8d17cdb073fd?pli=1

2
ответ дан 24 November 2019 в 07:48
поделиться

Если ваш хост является совместно используемым сервером, как мой, вы не можете изменить настройки и застряли на задании cron.

1
ответ дан 24 November 2019 в 07:48
поделиться

Просто упаковывают есть любые nginx пользователи сервера, натыкающиеся на этот вопрос, и директивы 'PassengerMaxRequests' и 'PassengerStatThrottleRate' не переводят на nginx. Однако другие делают:

rails_spawn_method smart;
rails_app_spawner_idle_time 0;
rails_framework_spawner_idle_time 0;
passenger_pool_idle_time 1000;

HTH! Метод

EDIT rails _ reawn _ устарел в пассажирских 3 вместо этого использовать

passenger_spawn_method smart; 

все остальное просто хорошо до настоящего времени.

40
ответ дан 24 November 2019 в 07:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: