latency для каждого и отсортировать по убыванию. Проблема в том, что пинг работает очень медленно, а какие есть еще способы замера latency ? Даже распараллеленная версия работает очень долго
вам шашечки или ехать?
имхо, если задача кажется невыполнимой - стоит пересмотреть ее условия. а именно: - как часто вам действительно нужно обновлять информацию о latency? (если это секунды, то 85к серверов и правда проблема, если минуты - есть шанс) - нет ли уже функционала, который взаимодействует с этими серверами? Можно было в него добавить функционал логгирования метрик - нужен ли действительно latency или подойдет какая-то другая метрика?
-85к серверов это ваши или что-то стороннее? если ваши- то вот вам вычислительные мощности - код на этих серверах может мерить свой лейтенси до пула других серверов и самостоятельно заносить метрики в бд
1. Информация, обновляется по требованию, то есть замеры нужно делать постоянно, запуская утилиту, в различных местах. 2. Сервера не наши. 3. Желательно чтобы быстро и за 5-10 секунд 4. Нужна метрика latency, т.е. чтобы кастомер мог выбрать для себя локацию с максимально низким latency
у меня 2 новости: хорошая - задача сбора этих метрик хорошо масштабируется, те пул воркеров ее разгребет на раз. плохая - для опроса 85к серверов раз в 5-10 секунд нужно существенное кол-во ресурсов CPU. В целом задача переносится в область "где взять достаточно CPU"
А можно такой сервер сделать достаточно переносным, чтобы возить с собой без машины ? ну т.е. возить его на обекты для замеров на месте ?
Если сейчас 12 ядер не хватает, но надо посчитать насколько не хватает, ну добавить недостающее. Ну и напильником вытачивать всю логику замера latency, чтобы она была как можно более оптимальна.
Так это ведь по сути и будет установка агента, который будет измерения вести "с другой стороны" и слать метрики вам
Никаких существенных мощностей не надо.
Обсуждают сегодня