Comments 27
99?
102?
200 серверов
Скорее 199 или даже 195 (всё-таки время на запрос даже из кеша тратится), но да, примерно так…
По моим подсчетам получается 199.8(или 9)… ну логично округлить до 200
Это зависит от эффективности кеша. Если запрос из кеша отдаётся, скажем, вдвое быстрее чем без него, то потребуется вообще одна дополнительная машина, если раз в 10 — то 9 допольнительных машин, даже если его эффективность 100-кратная — потребуется 50 машин! Чтобы потребовалось 190 машин кеш должен обладать эффективностью в районе 1000, а для 1999 — порядка 10'000!
как будто бы зря этот процент так упал, получается теперь нужно 199 серверов?
117.718382 сервера.
102
чтобы время обработки не менялось нужно чтобы выполнялось следующее условие:
(99 * 1 + 1 * 10 000 ) / 100 = (98 * 1 + 2 * 10 000) / x
отсюда x = 199.02 сервера
(99 * 1 + 1 * 10 000 ) / 100 = (98 * 1 + 2 * 10 000) / x
отсюда x = 199.02 сервера
Если запрос идет на все сервера сразу и выбирается самый шустрый, а ошибка в кеше распределена равномерно и независимо на каждом сервере, то вероятность того, что мы попадем на битый кеш: (1-вероятность попаданий)количество серверов
Следовательно должно выполняться равенство: (1-0.98)x=(1-0.99)2, откуда получаем 118 сервера.
Чьё кон-фу сильнее?
Следовательно должно выполняться равенство: (1-0.98)x=(1-0.99)2, откуда получаем 118 сервера.
Чьё кон-фу сильнее?
Черт, равенство: (1-0.98)x=(1-0.99)100
Если ошибка в кеше распределена равномерно и независимо на каждом сервере, то на каждом отдельном сервере вероятность попадания будет 98 процентов.
Так как на запрос отвечает один из серверов а не все сразу, то вероятность попадания будет ровно эти 98 процентов.
Более того, Вас не смущает, что в вашем варианте никак не учитывается то, что нагрузка возрастает в 10 тыс раз при кешмиссе. А если предположить что это 109? Всё теже 118 серверов?
Так что ваше кунфу не самое сильное.
Так как на запрос отвечает один из серверов а не все сразу, то вероятность попадания будет ровно эти 98 процентов.
Более того, Вас не смущает, что в вашем варианте никак не учитывается то, что нагрузка возрастает в 10 тыс раз при кешмиссе. А если предположить что это 109? Всё теже 118 серверов?
Так что ваше кунфу не самое сильное.
Если ошибка в кеше распределена равномерно и независимо на каждом сервере, то на каждом отдельном сервере вероятность попадания будет 98 процентов. Так как на запрос отвечает один из серверов а не все сразу, то вероятность попадания будет ровно эти 98 процентов.
Да, но разве тогда задача имеет решение?
Так как задача не совсем строго сформулирована, я предположил, что в сети есть мастер-сервер, который проверяет доступность данных в кеше на каждом сервере и переадресует запрос на лучший. В этом случае достаточно посчитать вероятность того, что нужных данных нет на каждом сервере — это (1-x)n, где n — кол-во серверов, а x — вероятность попасть в кеш.
Вас не смущает, что в вашем варианте никак не учитывается то, что нагрузка возрастает
Да не смущает, для решения задачи она не существенна=)
а почему умножаете именно на 10 000?
100. Нужно лишь починить то, что «слегка испортилось» ;)
Раньше сервис работал на 100 абсолютно одинаковых серверах.
При этом использоваться мог, например, 1.
Так что ответ — уже используемые 100 ;)
При этом использоваться мог, например, 1.
Так что ответ — уже используемые 100 ;)
Более известная версия этой же задачки:
«Влажность купленного арбуза составила 99%. В результате длительного хранения влажность снизилась до 98%.
Как изменилась масса арбуза? „
«Влажность купленного арбуза составила 99%. В результате длительного хранения влажность снизилась до 98%.
Как изменилась масса арбуза? „
Да
да, я тоже про неё сразу вспомнил.
но с арбузом-то решается куда проще задача :)
но с арбузом-то решается куда проще задача :)
На самом деле это вообще различные задачи, хотя и похожие внешне. Начать хотя бы с того, что масса арбуза уменьшилась строго вдвое, кол-во же доп серверов зависит от отношения скорости обработки кешируемого и некешируемого запросов.
101.02 -> 102 сервера
Sign up to leave a comment.
О важности кэшей в IT