"какой тип нагрузок может обрабатывать приложение xxxx"
Вы правы. Чтобы ответить на это, мы тестируем!
Без тестирования мы не можем просто сказать что-то столь же широкое, как наше приложение ruby, работающее на 2 динамах из heroku, способное обрабатывать 100 запросов в секунду или 100 одновременных пользователей. Нам нужно проверить. Масштабирование также может быть сложным делом. Без тестирования мы не будем знать, какие компоненты хорошо масштабируются, а какие нет.
Для начала у нас есть приложение, тестируемая система. Мы уже работаем с Heroku, что дает нам немедленный доступ к дополнению New Relic . Мы могли бы попробовать включить бесплатную версию New Relic, чтобы увидеть, какую информацию она нам предоставляет. Есть платная версия, которую мы могли бы также попробовать во время наших «сессий настройки», если нам нужно погрузиться дальше.
Тогда нам просто не хватает «драйвера», процесса, который будет загружать приложение, используя самые распространенные процессы (загрузка изображений, просмотр изображений, вход в систему и т. Д.).
Чтобы начать, нам просто нужно, чтобы 1-N наших ближайших друзей согласились выступать в качестве пользователей на нашем сайте, в то время как мы отслеживаем все действия из New Relic. Измерение времени отклика для пользовательского опыта, выявление медленных запросов, посмотрите, где наше приложение тратит свое время.
Когда мы устали покупать нашим друзьям все пиво за то, что помогли нам, мы можем взглянуть на автоматизацию некоторых из этих обычных бизнес-потоков с помощью инструмента нагрузочного тестирования. Есть коммерческие: Mercury LoadRunner, Borland SilkPerformer и Microsoft Team Test.
Мы также можем проявить творческий подход, используя инструменты функционального тестирования, такие как Watir или Selenium, или даже надежный wget или curl, чтобы увеличить нагрузку.
Мы можем использовать наши ноутбуки или Amazon EC2 в качестве агентов загрузки, которые будут генерировать пользовательский трафик на сайте при выполнении наших сценариев.
Это не должно быть так сложно, как все это, хотя тестирование обычно превращается в болото, если мы не заботимся, чтобы убедиться, что мы тестируем правильные потоки и, возможно, не менее важно, измеряя наше приложение. Без измерений мы не узнаем, сделали ли изменения в коде или конфигурации вещи лучше или хуже.
отказ от ответственности: у меня никогда не было рабочего приложения на Rails, но если бы я это сделал, я бы использовал New Relic для его мониторинга. По крайней мере, для начала, тем более что мы уже на Heroku.