Re[10]: 10K problem for keep-alive utility
От: avovana Россия  
Дата: 10.11.23 19:01
Оценка:
Здравствуйте, reversecode, Вы писали:

R>народ на zig реализовывал некоторые варианты

R>помоему первые два
R>даже с воркстилингом + uring
R>смутно помню результаты очень приблизительно сравнимы
R>даже с go сравнивали

R>https://gist.github.com/kprotty/5a41e9612657de00788478a7dde43d78


R>в других ревизиях надо смотреть

R>они там разные варианты реализовывали
R>сейчас глянул уже оставили только один

Ну вот мы тоже общались по задаче. Что, мол, можно сделать вариант с запуском в баше этой утилиты в несколько экзэмпляров.
Как я понял, входящий список отслеживаемых адресов просто бьётся. К примеру, на 4. И запускаются 4 экземпляра. Что тогда утилиту можно сделать однопоточной.

Но я вижу в этом минус. Как в system design — проблема с популярной личностью с шардами. Один шард нагружен, который обслуживает личность, другие простаивают.
Так и тут одно подмножество адресов, допустим, будет постоянно мигать/много событий. Другие нет. Тогда на этот один из 4ёх экзэмляров утилиты упадёт основная работа.
А утилита однопоточная.

Если же многопоточная:
1 поток eloll_wait и отдаёт через общую очередь таски, как в снипетте. И есть потоки разгребатели. То лучше будет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.