Очень вредная статья. Устаревшая информация приправленная домыслами и догадками.
По существу, к прокомментировавшим выше, могу добавить, что флаг TCP_QUICKACK придуман совсем для другого, а именно: задержать отсылку ACK'a если знаем, что потом будем слать данные. По сути убрать отправку пустого пакета с флагом ACK если уверены, что так нужно. К примеру, после тройного рукопожатия в http сессии мы знаем, что пошлём данные от клиента, так что можем придержать последний ACK и отправить его с телом запроса. А у вас скорее всего был включён net.ipv4.tcp_slow_start_after_idle.
По поводу документации и недокументированности не согласен. Документация в манах и в списках рассылки. Код написан довольно понятно. Вы видели лучше документированные системы которые активно разрабатываются?
Вопрос по документации: каким образом поодерживаете её в актуальном состоянии и кто этим заведует? Может посоветуете какие-то лучше практики? Есть ли в вашем рабочем флоу задача на документацию?
И не зря.
Ведь практический весь софт, который рабоатет с rpm репозиториями (yum, mrepo и т.д.) и сборкой (Mock Project) либо написаны на питоне, либо имеют биндинги в питон. Так что хейтеры-хейтерами, но архитекурно писать такое на пхп, не лучшее решение, вы не находите?
Для обработки платежей мы используем два сервера базы данных с MySQL от Percona, работающих в master-master репликации. Основная нагрузка идет только на один из них, второй используется для «горячей» замены в случае аварии или для подмены основного
А не страшно? Ну в смысле репликация асинхронная, бинарные логи синкаются иногда не так как ожидается – данные потерять можно запросто.
По существу, к прокомментировавшим выше, могу добавить, что флаг TCP_QUICKACK придуман совсем для другого, а именно: задержать отсылку ACK'a если знаем, что потом будем слать данные. По сути убрать отправку пустого пакета с флагом ACK если уверены, что так нужно. К примеру, после тройного рукопожатия в http сессии мы знаем, что пошлём данные от клиента, так что можем придержать последний ACK и отправить его с телом запроса. А у вас скорее всего был включён net.ipv4.tcp_slow_start_after_idle.
По поводу документации и недокументированности не согласен. Документация в манах и в списках рассылки. Код написан довольно понятно. Вы видели лучше документированные системы которые активно разрабатываются?
З.Ы. Вот хорошая книга про внутренности сетевого стека Linux (местами гик порн): www.amazon.com/TCP-Architecture-Design-Implementation-Linux/dp/0470147733
www.cloudflare.com/keyless-ssl
лучше этого:
?
Я уже молчу про воркера на php и текучесть памяти…
Ведь практический весь софт, который рабоатет с rpm репозиториями (yum, mrepo и т.д.) и сборкой (Mock Project) либо написаны на питоне, либо имеют биндинги в питон. Так что хейтеры-хейтерами, но архитекурно писать такое на пхп, не лучшее решение, вы не находите?
А не страшно? Ну в смысле репликация асинхронная, бинарные логи синкаются иногда не так как ожидается – данные потерять можно запросто.