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, в данном случае — монгрел) наращивают по мере необходимости и до тех пор, пока производительность не перестанет расти. Когда это случится, нужно думать об оптимизации приложения и/или устанавливать дополнительный физический сервер.
 
==Средства разработки==