Алексей Иванов из компании Dropbox подготовил (https://blogs.dropbox.com/tech/2017/09/optimizing-web-server.../) полезный отчёт о результатах оптимизации web-серверов, обеспечивающих работу сервиса Dropbox Edge Network (https://blogs.dropbox.com/tech/2017/06/evolution-of-dropboxs.../), используемого как для отдачи чувствительных к задержкам метаданных, так и для передачи больших потоков данных (десятки тысяч транзакций и десятки гигабит в секунду). В материале затрагиваются вопросы оптимизации драйверов, привязки обработки прерываний к фиксированным ядрам CPU, параметров TLS, nginx, стека TCP/IP, ядра Linux, влияние компиляторов и библиотек. Для каждой возможной оптимизации рассматривается её эффективность и вклад в увеличение общей производительности и сокращение задержек.URL: https://blogs.dropbox.com/tech/2017/09/optimizing-web-server.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=47149
Крутая статья. Автор хороший инженер.> but native AIO in Unixes have lots of quirks, so better to avoid it unless you know what you doing
Хочется раскрытия темы.
А чего не "на великом и могучем"?
Это запись в официальном блоге Dropbox, русской версии их блога я не припомню, думаю поэтому.
На их карте за разные годы прибавилось серверов в разных закоулках планеты. Но в РФ судя по карте серверов нет. Возможно они не фанаты пшеницы.
А че не на китайском или испанском? Носителей этих языков даже больше будет.
Во-первых, все облака идут лесом.Во-вторых,
> Separating your nginx binary from the environment, so that glibc version upgrades and OS migration will affect it less.
Nix таки рулит :)
>> Separating your nginx binary from the environment, so that glibc version upgrades and OS migration will affect it less.
> Nix таки рулит :)Там не про это. glibc-о-ненавистники же.
А про руление "окружениями" вот сейчас попалось, -- PyBOMBS
https://archive.fosdem.org/2017/schedule/event/introtosdr/$ sudo pip install PyBOMBS #А?! А?!! Каково?1[[Некоторые могут даже подумать, что]] ничего в общем-то такого уж _совсем_ %) уникального в Nix-е нет. Вона, RH SLC напряглись -- и смогли. Прямо верхом на rpm-е...
>>> Separating your nginx binary from the environment, so that glibc version upgrades and OS migration will affect it less.
>> Nix таки рулит :)
> Там не про это. glibc-о-ненавистники же.
> А про руление "окружениями" вот сейчас попалось, -- PyBOMBS
> https://archive.fosdem.org/2017/schedule/event/introtosdr/
>$ sudo pip install PyBOMBS #А?! А?!! Каково?1[[Некоторые могут
> даже подумать, что]] ничего в общем-то такого уж _совсем_ %) уникального
> в Nix-е нет. Вона, RH SLC напряглись -- и смогли. Прямо
> верхом на rpm-е...Любой текст можно превратить в сообщение митрофановского стиля. Это несложно, надо из исходника удалить как можно больше слов и предложений. Добавить смайликов, знаков препинания, неподдерживаемых bbcode кодов форматирования и вуаля - текст готов.
превратить в сообщение митрофановского стиля. Это удалить слов и предложений:)))) вуаля - текст готов!!111
Мне кажется это не стиль, а некая болезнь мозга. Специалисты должны подсказать.
Пылкие надежды на обновление ядра в плане увеличения пропускной способности наивны. Про карго-культ волшебных сисктл правильно пишет, но про гонку за версией ядра то же самое духу не хватило высказать?
У меня сложилось мнение, что отключение HT это было актуально в середине 200х. По крайней мере, я от отключения ничего не получил, когда занимался линуксовым роутером c ~700k pps.
Зависит как минимум от типа нагрузки и планировщика. в статье упомянуто где явно лучше без HT
> У меня сложилось мнение, что отключение HT это было актуально в серединене, нихрена не изменилось.
> 200х. По крайней мере, я от отключения ничего не получил, когда
что уже знаменательно, поскольку по идее-то должен был получить двойной просад производительности.
Ну а если у тебя aes и прочие радости в веб-сервере - то получишь и выигрыш тоже.
> что уже знаменательно, поскольку по идее-то должен был получить двойной просад производительности.Почему?
> Почему?ну как же - виртуальных процессоров-то стало вдвое меньше ;-)
Они, вообще говоря, не совсем и виртуальные - конвейеры (почти :) независимы, еще кое-что частично может работать параллельно, но, как видим, даже в вырожденном случае софтроутера, пользы от этого крайне мало. Вероятно, всю выгоду сожрала дополнительная нагрузка на планировщик.А в "вырожденном случае" веб-сервера с ssl - оно еще и ухитряется каким-то образом драться за ресурсы, и работать заметно медленнее. Мы тоже в свое время поудивлялись, как можно было достичь подобного эффекта, но в итоге просто приняли к сведению.
> ну как же - виртуальных процессоров-то стало вдвое меньше ;-)Это как?;)
Увы и сейчас актуально, если вам нужно уменьшить лэтенси. Возможно с роутером это и не актуально но для nginx подходит.