#оптимизация

4 постов
пост №1277

Классное продолжение истории с долгой загрузкой GTA Online: компания Rockstar признала ошибку, поблагодарила хакера (в изначальном смысле этого слова), выплатила ему 10 тысяч долларов и починит проблему в ближайшем обновлении 🤘

пост №1272

GTA V — финансово самый успешный продукт в истории развлечений. Эту игру купили больше 90 миллионов копий, она заработала 6 миллиардов долларов. Для сравнения: «Звездные войны» собрали 4 миллиарда, самый успешный фильм в истории «Аватар» — 2.8 миллиарда.

GTA Online — версия игры, в которую можно играть с друзьями онлайн. Эта игра очень долго грузится. Вполне возможно, что многие отказались от игры именно из-за медленной загрузки.

Чувак нашел ошибку в программе и смог уменьшить время загрузки с 6 минут до 2 минут. Причем сделал это не имея исходных кодов, то есть во многом «вслепую! Вот очень короткая и классная статья, где он рассказывает, как нашел проблему и как её починил.

Почему такая жесть пролезла в продакшен супер успешного проекта, мы вряд ли узнаем, но все технари с опытом представят легко: сжатые сроки, «вас не спрашивали, делайте что скажут» и прочие «прелести» промышленной разработки софта. 😢

пост №859

Делюсь золотой шкатулочкой с инструментами для оптимизации веб-страниц:

1. Самый крутой, о котором мало кто знает: Webpagetest. Огненная функция в нем — filmstrip view, где можно по-кадрово отсмотреть, как загружается страница и разглядеть, какой скрипт или стиль виноват в долгой загрузке. Медитируем на него без остановки.

2. Самый простой: PageSpeed Insights, довольно жесткий инструмент от гугла, где быстрая главная медузы набирает 6/100. Мы с командой RAWG последние 2 недели приносили человеческие жертвоприношения на страницу игры и подняли её мобильный рейтинг с 6 до 46, а десктопный — с 40 до 92. Главная польза PSI — простые и понятные советы, часть из которых очень дорого реализовать, но всё по делу. Вообще, его отчеты — отличный учебник по современной оптимизации для веб-разработчика. Дополнительный бонус — исходный код движка PSI, Lighthose открытый, можно посмотреть, за что именно дают или снимают баллы.

3. Google Chrome. Нам нужны две функции — первая, это Lighthouse (движок PSI из предыдущего пункта). Вторая — возможность затормозить сеть (вкладка Network) и затормозить процессор (вкладка Timeline). Позволяет отследить проблемы, которые на быстром интернете и мощном процессоре не заметны.

4. GTMetrix, многофукциональный комбайн, вдобавок к стандартным метрикам оценивает использование CDN, SSL и много других мелочей.

5. sitespeed.io: крутой инструмент для автоматизированного тестирования (докер образ, легкая интеграция в дэшборд графаны), внутри комбинирует множество опенсорс-утилит.

Самое главное, что нужно при оптимизации веб-страниц — пытливый ум и настойчивость. Не стесняйтесь просить помощи у знакомых, они могут сходу заметить то, что вы замыленным взглядом уже не увидите.

Если я забыл что-то важное — маякните в личку @samatg или в чатик @ctodailychat, пожалуйста.

Да пребудет с вами сила оптимизации!

пост №269

Алексей Иванов из Dropbox (ex-Yandex) опубликовал просто титаническую статью про оптимизацию веб-сервера — текстовую версию своего вчерашнего доклада с NginxConf 2017 (видео пока нет).

Там и железо и софт, начиная с версий фирмвари флеш-дисков и заканчивая логированием; с советами, примерами кода и при этом не теряя большей картины из виду.

Во первых, это отличный чеклист по оптимизации.

Во вторых, в статье щедро проставлены ссылки на ключевые блоги и посты по разным областям технологий — это почти готовый учебный план.

Я легко могу себе представить, как выходит книга в серии животных O'Reilly, написанная на основе этой статьи.

https://blogs.dropbox.com/tech/2017/09/optimizing-web-servers-for-high-throughput-and-low-latency/

P.S. Обратите внимание на кнопку "We're hiring", ненавязчиво висящую в левом верхнем углу на протяжении всей статьи и последний абзац — вот это job marketing, который я уважаю.