четверг, 12 марта 2009 г.

VDS - настройка продолжается

Ковырялся давеча на серваке, настраивал бэкап и экспорт svn в базу Redmine. Да, есть такая особеность в Redmine - он сам не лезет в репозиторий за данными о изменениях. Для этого надо периодически запускать скрипт
ruby script/runner "Repository.fetch_changesets" -e production

Заметил такую неприятную вещь - сайт не особо посещаемый, точнее кроме меня на нем никто не бывает. Поэтому процесс passenger`а постоянно выгружается из памяти за не надобностью. Но вот если после этого зайти на сатй, то он будет грузится порядка 20 -30 секунд, а потом снова будет нормально. Ситуация так себе. Была идея прикрутить wget для периодического запроса главной страницы. Но в начале решил почитать мануал по passender`у. И таки нашел.  Параметр  PassengerPoolIdleTime  - время простоя до выгрузки из памяти. по умолчанию 300 секунд. сделал 3000. Стало гораздо лучше. Особенно изменилось использование памяти. До исправления текущее потребление памяти всей системой было примерно 115 мб, после 74 мб. Занятно.

Надо копать дальше, может что то еще можно оптимизировать. Память на вес золота.

Redmine + Apache + Passenger + Subversion на примере Gentoo


Как ранее писал, решил я настроить себе subversion сервер с багтрекером Redmine. Для этого обзавёлся виртуальным выделенным сервером на 1GB.ru . В качестве операционной системы там установлен Gentoo 2008. Для запуска сайта на Ruby on Rails существует много возможных комбинаций серверов. Например, я пробовал Apache + proxy_balancer + Mongrel , просто Mongrel. Так же всевозможные замены Apache на альтернативные веб-сервера. Но посоветовавшись с админом форума http://rubyclub.com.ua/, пришел к тому, что буду использовать Apache + Passenger. Кстати, в сети не нашел какого-либо мануала про Redmine и эту связку, с чем связаны многие часы раздумий. Ну и для полного счастья, точнее для более быстрой работы Passenger устанавливал Ruby Enterprise Edition. Я не рассматриваю установку и настройку базы данных, т.к. у меня она стоит на мощностях хостинга, а не на моем vds. Цель поста - систематизировать свои знания, оставить себе шпаргалку, ну и показать некоторые нетривиальные места. Практически все собиралось из исходников, так что привязки  конкретно к Gentoo практически нет. Ну и как некоторый показатель - после изучения всех граблей, настройка сервера заняла часа 3-4, и то в связи с ограничением на ресурсы сервера.