Ну пойти любой сможет.
Интересно, когда закончатся твои попытки самоутвердится)
Можно заюзать SO_REUSEPORT, вообще backlog тюнится при спайках нагрузки, например когда трафик не равномерный. Если же навалит трафика с запасом, то длинный беклог бессмысленный. Мы максимум его до 2048 на сокете поднимали.
П.С. Сколько не заходил на форум, а тут все то же самое)
А чего там рассказывать? Как сказал бы ТС, "приляпываю" потихоньку кучу либ🤣
В итоге, имеем.
26 уже приляпял (requrements.txt)
И ещё буду🤓
Правда изучать приходится, мотор, там, аио - нудно и скучно. Тестировать, разные варианты смотреть, по нагрузкам, потребляемым ресурсам и т.д. Нудятина типа такого, как чтобы RPS много, а load average и пр. RES мало.
backlog=10240
Здорово помогают штучки типа раз, два.( контролируемый способ планирования фоновых задач + beanstalkd) Здорово снижает время генерации документа, за счет того что часть задач может выполняться уже после отрузки документа.
Лог задач beanstalkd заканчивается такой строкой (после ab -n 20000)
Task 20000 (JobId: 77658) done!--2021-02-20 12:51:06.820591~
Которые запускаюся в свою очередь
До внедрения этих штучек, РПС был примерно 400-500, а сейчас 900+ на типичной индекс паги ( для реального юзера чуть меньше, юзер агент апачбенч в списке ботов, ряд операции для ботов не выполняется. Сессия там и т.д. )
А почему зафейленых реквестов так много (4к+)?
timo-71, у меня такое же решение итоговое. не думал как соточку выжать?
спойлер:
я сначала подумал что нужно преаллоцировать массив (в Go и Rust я так и делал), но в пыхе этого сделать нельзя (SplFixedArray это таки массив, а не мапа или хеш таблица).
timo-71, I have the same final decision. sotochku thought how to squeeze?
spoiler:
I thought at first that it is necessary preallotsirovat array (in Go and Rust I did), but this can not be done pyhe (SplFixedArray is still an array rather than Mapa or hash table).
Gerga, очень странно что способ грубого перебора обогнал 49% всех вариантов)) интересно, что там другие понаписывали тогда) наверное count в цикле.
На пыхе у меня вот так вышло, но один раз поняв алгоритм, дальше становится не интересно
Gerga, very strange that the way the rough sorting overtaken 49% of all variants)), it is interesting that there are other ponapisyvali then) surely count in the cycle.
On pyhe I like this happened, but once he realized the algorithm becomes more not interested
Sly32,
Input: [3,2,4]
6
Output: []
Expected: [1,2]
Выше есть ссылка где можно прогнать тесты