Большая рабочая нагрузка ECommerce с Ruby on Rails?
Мне поручено создать большой сайт электронной коммерции для розничной торговли. Для этого мы используем упакованное программное обеспечение. Пакет сложно адаптировать и он негибкий, но он масштабируется на хорошо протестированном Java-приложении.
Однако в фоновом режиме я пытался использовать это в качестве справочной рабочей нагрузки для создания собственного приложения электронной коммерции Ruby on Rails - просто для интереса и для изучения инфраструктуры. Но прежде чем я начну слишком далеко, я думаю, что я ищу высокий уровень - определение того, возможно ли вообще достичь такого типа нагрузки с помощью ROR.
Приложение должно было бы захватывать около 2000 заказов в час, но каждый заказ большой, поэтому обрабатывать около 140 000 позиций в час. Параллельные клиенты относительно просты, около 5000 активных в час. Но количество посещений магазина очень высокое: около 45% покупателей приходят на сайт для совершения покупок, поэтому большая часть обработки заключается в сборе заказов, а не в поиске и просмотре большинства сайтов.
Поэтому мой вопрос: что такое "большая рабочая нагрузка", когда речь идет о ROR? Это выполнимое NFR, чтобы встретиться с заявлением ROR? Какие соображения я должен сделать?
1 ответ
На самом деле, как веб-фреймворк, RoR не накладывает никаких ограничений на ограничение рабочей нагрузки.
Предел рабочей нагрузки зависит от:
- Сколько машин обслуживать по запросу
- Сложность вашей бизнес-логики, которая определяет предел рабочей нагрузки одной машины
- Есть узкое место в пропускной способности или дисковый ввод-вывод базы данных?