Если у вас все IO блокирующее, то никакого ивентлупа (poll/select) вы не сделаете. Следовательно никакой конкурентности вы не получите.
Если под «обычным» решением мы понимаем простое однотредовое решение без использования файберов/зеленых тредов/корутин, то неблокирующее IO никак его быстрее не сделает.
я имел ввиду, что если 1 клиент получает ответ на запрос через 1мс, это лишь значит, что в секунду этот клиент сможет сделать 1000 запросов, а эластик может одновременно обслуживать десятки таких клиентов. рпс эластика при этом будет значительно больше 1000.
Самый популярный паттерн использования файберов в руби — оборачивание колбэков при асинхронной работе с сетью.
Исполнение кода получается не параллельным (ровно как и при использовании тредов), но при этом шедулинг файберов и сами файберы значительно легче тредов.
1вцпу 0.5ГБ = 223 руб/мес ($3.26)
2вцпу 1ГБ = 446 руб/мес ($6.52)
Если у вас все IO блокирующее, то никакого ивентлупа (poll/select) вы не сделаете. Следовательно никакой конкурентности вы не получите.
Если под «обычным» решением мы понимаем простое однотредовое решение без использования файберов/зеленых тредов/корутин, то неблокирующее IO никак его быстрее не сделает.
откуда там 23 в ответе?
Исполнение кода получается не параллельным (ровно как и при использовании тредов), но при этом шедулинг файберов и сами файберы значительно легче тредов.
concurrency != threads