2010-10-06 7 views
2

Мы ожидаем, что через несколько минут или несколько минут будет загружено несколько тысяч загрузок. Большая часть загрузок будет около 20 -> 200 Мб. Технически, я думаю, что загрузка не имеет особого отношения к Rails, а скорее к WebServer (Apache/Nginx), так как сервер может обрабатывать параллельные запросы, тогда для Rails-приложения не так много работы (за исключением перемещения файл для правильного хранения и создать запись базы данных для отслеживания файла).Сколько одновременных выгрузок может обрабатывать десктоп Rails

Является ли мое предположение правильным? Как правило, сколько одновременных загрузок одного процесса приложений Rails можно ожидать? (Учитывая, что приложение Rails может занять 20 мс со всеми вычислениями, перемещать файл и создавать запись базы данных, но соединение должно поддерживаться в течение 1 минуты, чтобы файл мог быть успешно перенесен)

ответ

5

Не совсем, но близко. Один экземпляр приложения rails может обрабатывать только один запрос за раз, но легко использовать сервер с пулом этих экземпляров с использованием nginx, а также для пассажира или mogrels и балансировки нагрузки.

Вам необходимо создать тест нагрузки для подтверждения любых ваших предположений.

Я бы использовал завиток, чтобы имитировать пользователей 10/100/1000, загружающих несколько мегабайт, используя несколько процессов и настраивая скорость загрузки, чтобы имитировать медленных клиентов, чтобы увидеть, как это влияет на вашу производительность. Измерьте время отклика для 10 одновременных запросов и записи и наблюдайте результаты.

Вы можете использовать модуль загрузки nginx и байпасные рельсы, если сможете, и если это поможет. Всегда проверяйте свои предположения.

+0

Это интересно. Не могли бы вы показать мне больше об использовании curl для тестирования загрузки? –

+0

посмотреть на завиток http://curl-loader.sourceforge.net – abdollar

Смежные вопросы