Рекомендации для быстрого сервера Ubuntu + Rails - PullRequest
3 голосов
/ 18 июня 2009

Я использую общий хост Ubuntu 8.04 (VMWare) с Apache + Passenger (= Mod Rails), MySQL и Acts_As_Ferret (в режиме сервера). Это слишком медленно при первых запросах. Я выполняю много операций REST и у меня очень мало пользователей.

Теперь я хочу сделать новую установку ...

Какую настройку (на основе Ubuntu) вы порекомендуете для действительно быстрого сервера RoR? (например, Ngnix, Thin, Mongrels или другие интересные вещи)

Ответы [ 4 ]

3 голосов
/ 19 июня 2009

Пассажир медленный при первых запросах, потому что он работает на холостом ходу и отключает все процессы rails, поэтому первый запрос должен загрузить процесс rails. Вам нужно либо регулярно пинговать, чтобы избежать его простоя и закрытия процессов рельсов, либо установить высокое время ожидания простоя.

Посмотрите в документации по RailsPoolIdleTime

2 голосов
/ 18 июня 2009

Проверьте список рассылки ec2onrails, где было много дискуссий о различных альтернативах и перестановках thin / nginx / passenger / apache, а также некоторые достоверные данные, опубликованные на основе некоторых достойных тестов.

Вы также найдете хороший упакованный стек RoR / Ubuntu в форме изображения ec2onrails (google ec2onrails) - он предназначен для работы на облаке amazon EC2, но в нем есть много приятных вещей + задачи capistrano. В настоящее время он основан на Apache, но версия находится в процессе рассмотрения альтернатив. Нет причин, по которым вы не могли бы использовать один и тот же скрипт сборки для сервера не EC2.

Если ваша проблема заключается просто в первоначальных запросах, попробуйте прогреть сервер, прежде чем считать его работоспособным (например, запустив скрипт для автоматического выполнения основных операций).

Да, и я должен добавить - вы уверены, что проблема в вашем стеке? Скорее это ваш код. Возможно, стоит посмотреть, где ваши узкие места стоят первыми и что вы можете извлечь из кэширования, улучшенных запросов и индексации, и особенно memcached перед настройкой чего-либо еще.

2 голосов
/ 18 июня 2009

Ну, вы могли бы значительно увеличить скорость, переключившись на Ubuntu 9.04 или даже 8.10

1 голос
/ 18 июня 2009

Я лично использую nginx + passenger в моем стеке Ubuntu. и использовать сфинкса вместо хорька

...