Ruby FAQ: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 331:
===Разворачивание на сервере (deploy)===
'''Apache + FastCGI'''
(глючный, встречается на шаред-хостингах)
'''Apache + mod_ruby'''
(вроде, самый глючный)
'''Mongrel'''
(оптимальный вариант, пока одного монгрела хватает)
'''Балансировщик + Mongrel-ы'''
Рельса — не может работать в несколько потоков (а MRI не умеет системные потоки, т.е. не более 100% CPU), поэтому для масштабирования запускается N-ое количество монгрелов на каждой машине. Запросы к ним приходят от балансировщика.
Проверенные балансировщики: nginx, apache, lighttpd. Рекомендуется nginx как наиболее стабильный, легкий и удобный в настройке.
* [http://wiki.codemongers.com/Main Nginx wiki]
Количество монгрелов не должно быть слишком большим, чтобы зазря не сжирать память и не тратить время процессора на планировщик задач, но и не должно быть слишком малым чтобы обеспечить необходимую пропускную способность. Как правило, количество бекендов (backend, в данном случае — монгрел) наращивают по мере необходимости и до тех пор, пока производительность не перестанет расти. Когда это случится, нужно думать об оптимизации приложения и/или устанавливать дополнительный физический сервер.
==Средства разработки==
|