Я немного подумал о том, как рассчитать, сколько пользователей я могу обработать с помощью Heroku и одного dyno.
Но чтобы понять это, мне нужно немного информации.
И я должен сказать, что официальная документация не очень удобна для навигации и интерпретации, поэтому я не прочитал все это. Мои жалобы на это состоят в том, что это не описывает вещи очень хорошо. Иногда это описывает старые стеки, иногда это специфично для рубина, иногда это вообще не описано и так далее.
Так что мне нужно немного узнать о том, как Heroku, стек Cedar, работает в отношении запросов на мои расчеты.
Вы можете поправить меня в моих предположениях, поскольку я относительно новичок в теории динамо.
Допустим, у меня есть контроллер, который принимает запрос и вычисляет ответ JSON за 10 мс локально. Смогу ли я обслуживать 100 запросов в секунду?
Как я понимаю, в стеке кедров нет фронтального решения для кэширования, возникает много вопросов.
- Занимает ли запросы статического контента дольше времени?
- Учитывается ли время передачи для запроса времени.
- Может ли одно решение dyno одновременно передавать несколько ответов на запрос, если запрос требует небольшой загрузки ЦП.
Некоторые вопросы взаимосвязаны, поэтому ценный ответ или другая мысль ценится.
Пример:
Статическая HTML-страница.
<HTML>...<img><css><script>...
AjaxCall //dyno processing time 10ms
AjaxCall //dyno processing time 10ms
AjaxCall //dyno processing time 10ms
AjaxCall //dyno processing time 10ms
...</HTML>
Можно ли подавать (1000 мс / (10 мс х 4)) = 25 страниц HTML в секунду?
- Предполагается, что статический контент не предоставлен dyno.
- Предполагается, что время передачи не обвинило динамометра.
Если бы это было не так, я был бы катастрофой . Допустим, мобильный телефон в Африке делает 10 запросов и время передачи 10 секунд, тогда мое приложение будет недоступно более 1½ минуты.