Чел. долго описывает, как благодаря пережатию картинок из JPEG в WebP, использованию HTTP3/QUIC, использованию новых алгоритмов сжатия, бинарному протокола вместо JSON — смогли сэкономить немало трафика и вообще все куль, победа.
Еще порадоволо прямо детективное разбирательство с сетевыми тормозами и как выход — использовать BBR.
Но как всегда все обломал коммент от мудреца:
>Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза
Как пользователь я вижу скорее обратную ситуацию: вконтакт всё сильнее тормозит, особенно на нестабильном соединении. 20 мегабайт скриптов, которые грузятся 2 минуты, это совсем зашквар. Не в том месте вы оптимизируете
S>Но как всегда все обломал коммент от мудреца:
S>
S>>Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза
S>Как пользователь я вижу скорее обратную ситуацию: вконтакт всё сильнее тормозит, особенно на нестабильном соединении. 20 мегабайт скриптов, которые грузятся 2 минуты, это совсем зашквар. Не в том месте вы оптимизируете
Охотно верю, что олимпиадникам удалось по своей части что-то оптимизировать и даже получить заметный прирост в скорости (если мерить мгновенную скорость загрузки чего-нибудь).
Но дебильный дизайн с кучей говноскриптов может запросто свести на нет все их усилия.
Конкретно про ВКонтакте не знаю, не пользуюсь, но аналогичный яркий пример — Сбербанк-Онлайн. До редизайна был простеньким, но удобным, после — стал навороченным и ублюдочным.
Здравствуйте, klopodav, Вы писали:
K>Охотно верю, что олимпиадникам удалось по своей части что-то оптимизировать и даже получить заметный прирост в скорости (если мерить мгновенную скорость загрузки чего-нибудь). K>Но дебильный дизайн с кучей говноскриптов может запросто свести на нет все их усилия.
Здравствуйте, Shmj, Вы писали:
S>Статья: https://habr.com/ru/company/vk/blog/594633/
Что значит не в том месте оптимизируете?
Для компании важно минимизировать трафик, ибо за него приходится платить плюс необходимо минимизировать количество серверов, за которое тоже придется платить. Что там у пользователя — нищеброда, который сейчас сидит на компе 20 летней давности или мобиле за 3000 рублей с мегабайтом оперативки не волнует, если пользователь настолько нищеброд что для него 10 000р на не тормозящий телефон большие деньги, от него будут одни расходы, а не прибыль.
Здравствуйте, vsb, Вы писали:
vsb>Нет, обычный слабенький десктоп с Win 10.
Ясно. Я к тому, что у доброй половины аудитории VK, наверное, бюджетные смартфоны со слабеньким ЦП, который долго и мучительно парсит мегабайты (сотни килобайт?) JavaScript-кода....
Здравствуйте, Lazytech, Вы писали:
vsb>>Нет, обычный слабенький десктоп с Win 10.
L>Ясно. Я к тому, что у доброй половины аудитории VK, наверное, бюджетные смартфоны со слабеньким ЦП, который долго и мучительно парсит мегабайты (сотни килобайт?) JavaScript-кода....
Так на смартфоны ставят приложение. Не знаю, на чём оно написано и даже не пользовался им никогда, так что комментировать не могу.
WebP замыливает фотографии, так что не самая лучшая "оптимизация".
А насчёт JSON->Messagepack я вообще не понял смысла. Что мешало тот же самый JSON хранить сжатым gzip-ом? А при передаче по сети JSON сожмётся веб-сервером.
Здравствуйте, L.K., Вы писали:
LK>А насчёт JSON->Messagepack я вообще не понял смысла. Что мешало тот же самый JSON хранить сжатым gzip-ом? А при передаче по сети JSON сожмётся веб-сервером.
Я так понял, они буквально за десятки байт борются.
я пел оды движку RSDN. Обычно, если я делаю комплименты, это завуалированное злоехидство. (Вот такой я человек. Мне стыдно (нет)).
В том случае мой постинг был написан на следующий день после того, как команда Хабра отчиталась о новых оптимизациях в движке. С каждой их оптимизацией тормозит всё адовее и адовее. После последней оптимизации страница просто закрывает браузер через раз на слабом тестовом мобильном устройстве. Ибо память. Я всё жду Финальной Оптимизации, после которой сайт на этом устройстве сразу после открытия будет вырубать браузер.
А движок RSDN, при том, что в своё время его только ленивый не пинал ногами за отсутствие мобильной оптимизации, на его фоне выглядит конкретным молодцом. Секрет успеха прост: не менять код лет пятнадцать, а закон Мура сделает остальное. И ты ещё увидишь, как по реке плывут трупы других сайтов.
Просто вы хорошо думаете о людях. Вы думаете, это олимпиадники, не набравшиеся мудрости. А я думаю, они достаточно мудры, чтобы за свою деструктивную деятельность получать очень хорошие деньги, да ещё и чесать своё эго и учить нас жизни в своих статьях.
Здравствуйте, elmal, Вы писали:
E>Что значит не в том месте оптимизируете? E>Для компании важно минимизировать трафик, ибо за него приходится платить плюс необходимо минимизировать количество серверов, за которое тоже придется платить.
О да. Все эти компании такие бедные, такие бедные, что когда они свою говноаналитку пихают за кулисы на каждый первый сайт (где ей делать, по-хорошему, вообще нечего), то потом просто столько платят за трафик и сервера, что еле концы с концами сводят и плачут горькими слезами. А садовнику у них в этом году пришлось остаться без крафтового смузи.
И, кстати. Они там на лету каждую секунду 160 тысяч (после кеширования, а до него было под лям) джипегов конвертят, для чего выделили и создали спецкластер. Он, наверно, стоит как «Союз-Аполлон», при нынешних-то ценах на майнинго-пригодное железо. Вы думаете, что трафло дороже? Сомневаюсь я.
Здравствуйте, Shmj, Вы писали:
S>Чел. долго описывает, как благодаря пережатию картинок из JPEG в WebP, использованию HTTP3/QUIC, использованию новых алгоритмов сжатия, бинарному протокола вместо JSON — смогли сэкономить немало трафика и вообще все куль, победа.
Это невероятно. Детишки вспомнили про бинарные протоколы. Неужели они и ASN.1 с пыльной полки вытащат?
Здравствуйте, Kernan, Вы писали:
S>>Чел. долго описывает, как благодаря пережатию картинок из JPEG в WebP, использованию HTTP3/QUIC, использованию новых алгоритмов сжатия, бинарному протокола вместо JSON — смогли сэкономить немало трафика и вообще все куль, победа. K>Это невероятно. Детишки вспомнили про бинарные протоколы. Неужели они и ASN.1 с пыльной полки вытащат?
ASN.1 был пионерской разработкой. Это подвиг, но много моментов решено неоптимально. Крайне сложный язык описания структур, неэффективные кодировки в двоичку, и всё такое.
Если говорить о чём-то современном близкого типа, то это CBOR. У него плотность представления в двоичке выше раза в два, чем у BER. Текстовое представление почти полностью соответствует JSONʼу, то есть понятно всем по современным подходам.
Но всё же, как сказал ТС, люди занимаются фигнёй вместо главного...
Здравствуйте, Hobbes, Вы писали:
K>>Неужели они и ASN.1 с пыльной полки вытащат?
H>ASN.1 сложно и непонятно. Есть же protobuf.
У них разные подспециализации. protobuf предельно эффективен в случае, если у структуры с, например, до 100 записей обычно присутствуют не больше 10. Если должны быть все, то у него эффективность заметно падает. Многоуровневые структуры тоже не лучше, чем в конкурентах типа JSON и ASN.1.
ASN.1 несложен, если перевести с языка ISO. Ну и компиляторы схем надо бы сделать не только для 5-10 основных языков.
Вообще аналогов сейчас до чёрта, я вот прямо сейчас YANG мучаю по работе...
Здравствуйте, netch80, Вы писали:
N>Если говорить о чём-то современном близкого типа, то это CBOR. У него плотность представления в двоичке выше раза в два, чем у BER.
Так есть же PER.
Вот что есть в ASN.1, а больше я нигде не видел, это constraints. Хотя бы constrained integer и его представление в PER — гениально. Но хипстерам сложно.
P. S. Всё же про ASN.1 надо учитывать, что его делали связисты, а не кодеры. Вот посмотрите на HTTP — его делали кодеры. Зато можно подключиться к HTTP серверу телнетом и чего-то там напечатать.
Здравствуйте, Hobbes, Вы писали:
H>Вот посмотрите на HTTP — его делали кодеры.
И он ужасен
H> Зато можно подключиться к HTTP серверу телнетом и чего-то там напечатать.
И никто так не делает а все берут хотя бы curl