Комментарии 15
Если не во всех, то есть ли спеки, какие форматы/размеры не будут перекодированы?
Если есть, то дайте пожалуйста ссылку.
какой не скромный вопрос )
Транскодировать или нет, сейчас зависит не от форматов, а от сценариев. Например, прозрачно передаем видео в видеосообщениях, потому что чаще всего это записи прямо с камеры, которые скорее всего нам подойдут. Чтобы не перекодировать видео в других сценариях, требуется реализовывать много дополнительных проверок, чтобы гарантировать, что видео воспроизведется как надо.
"миллион разных контейнеров , кодеков видео , кодеков аудио"
Ну и как вы перегоняете из всего в свой?
Миллион if через ffmpeg ?
Видео в качестве 720 почти не отличается на глаз. Где то внутри все пережимается в 240@24, а потом апскейлится, походу. Качество Ютуба, даже с его агрессивным сжатием, остается недостижимым
Отсутствует контент в HD
Отзывчивость поеера на уровне худших решений
Ну и главная проблема: шлак-контент.
Александр, поделитесь пожалуйста опытом использования GC Shenondoah:
1. Сколько примерно %CPU отъедает его использование по сравнению с другими GC, которые вы пробовали на ваших нагрузках?
2. Пробовали ли вы ZGC, почему выбрали именно Shenondoah?
Скажите, MSG_ZEROCOPY используете?
Александр, здравствуйте! Благодарю за статью! Есть вопрос:
Очередь организуем с помощью собственного решения на leader election поверх ZooKeeper.
Функционал Kafka не соответствовал нуждам разработки?

Добрый, Спасибо большео за статью.
Можете подсказать конфигурацию сервера с которой получается раздавать ява приложением на такой скорости?
Почему именно все 3 константы одинаково заданы net.ipv4.tcp_mem = 20000000 20000000 20000000 ?
По документции кажется лучше так не делать "it contains three numbers: the minimum, pressure, and maximum. The pressure is the threshold at which TCP will start to reclaim buffer memory to move memory use down toward the minimum. You want to avoid hitting that threshold."
Конфигурация серверов:
2x Intel Gold 6238R CPU
512GB RAM
1x NVME
4x 25Gbit NET
"You want to avoid hitting that threshold "
Вот как раз из-за этого все три значения net.ipv4.tcp_mem поставлены заведомо преувеличенными и одинаковыми: мы не хотим, что бы запускался reclaim, т.к. он ударит по производительности сервера. Вместо этого мы выставляем на сокеты кастомный размер send buffer, что бы сдерживать рост tcp памяти (которая иначе может сильно вырасти из-за автотюнинга сокетных буферов). И мы готовы пожертвовать необходимым для этого объёмом RAM (на практике это несколько гигабайт).
Отказоустойчивая архитектура контентной платформы на 4 Тбит/с — опыт VK Видео