Решите значки организации на сервере и предварительно подключите источник
Маяк назвал theme.kamocrm.com несвязанным источником стоимостью 300 мс Кроме того, не сообщая о происхождении заранее подключенных, и в последнем раунде я прочи...
Остановите три пакета маршрутов, предварительно набранных на главной странице
Предыдущая статья103 KiB «неиспользуемого JavaScript» Lighthouse назвал четыре фрагмента, два из них 100% неиспользованный. Ни один из них не отображается в HTM...
Назовите ширину фона и прочитайте конфигурацию темы на сервере
Два вывода, оба из которых делали что-то, отличное от того, что говорил код. Рябина была сделана Кандидатом 1920 года. 149 КБ, для декоративной картины за конт...
Сжимайте изображения сильнее, держите карты неподвижно, отбрасывайте дубликаты запросов
Изображения. Каждая настройка качества на странице идет вниз по шагу, и список разрешений В следующем.config.ts идет на [30, 50], так что ничто не может спокойн...
Разделите героя и уберите последние две библиотеки со страницы
Шаг C. Ни GSAP, ни Framer Motion больше не находятся на главной странице. Домашнее пространство имен сообщений больше не отправляется в браузер. JS 241 999 -> ...
Семь секций прекращают гидратацию
Шаг B. TrustBar, WhatReplacesWhat, HowItWorks, UseCases, Features, CTAStrip Цены теперь являются компонентами сервера. Они отображают HTML и не отправляют JavaS...
Возьмите время выполнения анимации с домашней страницы полностью
Шаг А гидратационной работы. Framer Motion ушел с домашней страницы связка: 798 723 -> 687,593 байт сырой, 245 367 -> 209 422 гзипа. Это 35 945 человек. меньшее...
Прекратите визуализацию восьми секций вне экрана, прежде чем герой сможет рисовать
LCP составлял 4,4 с, а его разбивка указывала, где: 120 мс до первого байта, 290 мс задержка загрузки, 390 мс фактическая загрузка изображения, а затем 1810 мс ...
Отмените два изменения, которые стоят 380 миллионов часов блокировки, и успокойте телефон
Последние два тура взяли счет от 87 до 67. Тотальная блокировка Время вышло из 80 мс до 460 мс и LCP от 3,9 с до 4,4 с. Два моих изменения сделали это. Оба были...
Переместите заголовок на композитор, и виджет чата от загрузки
Две вещи, оставшиеся после последнего раунда, были помечены, а не сделаны, потому что Каждый что-то торгует. Делаю это сейчас. Головная полоса. Это был второй ...
Введите таблицу стилей и уроните полифиллы, до которых ничего не может добраться
Две находки Маяка, обе из которых остались открытыми после последнего раунда Я пришел к выводу, что они не подлежат рассмотрению. Они были; я не смотрел сильно ...
Прекратить доставку 1,8 МБ неразмерных фонов после гидратации
ThemedBackground была самой дорогой вещью, оставленной на домашней странице, и ни одна из них не была найдена. Это было похоже на жука. Он отображал сырой <img>...
Остановите складку, ожидающую гидратации, и очистите окно нагрузки
Домашняя страница отгрузила всю свою складку невидимой. Framer Motion представляет собой «Первоначальный» реквизит в предзаказываемый HTML как встроенный стиль,...
Ищите блок-кандидат вместо того, чтобы сканировать стол
/api/send занял 1,8-7,9 с для большинства адресов и однозначные мс для нескольких, которые Это не проблема нагрузки — это форма геолитового запроса. GetLocation...
Остановите отслеживатель аналитики, захватывающий все ссылки, кроме Home
Каждая страница, кроме главной страницы, открывалась в течение нескольких секунд, и причина никогда не была такой. в собственном навигационном пути этого прилож...
Опустить границу загрузки сайта, за которую платили только вторичные страницы
Каждая страница, за исключением главной страницы, чувствовала себя медленно, что указывает прямо на страницы. Субтри и кое-что, что я туда положил. При добавлен...
Предоставьте количество Changelog, обновите его на публикации вместо посещения
Каждый посетитель сам получал этот номер. ПревьюБаннер живет в общей макет, поэтому на каждой странице он нажимал /api/changelog/ сегодня после гидратации, ждал...
Перестаньте придумывать мегабайт на страницу и перестаньте звонить в бэкэнд бесплатно
Две расходы, которые были оплачены на каждой странице, были найдены, следуя за собственным репортером. Сомнение об i18n и ненужных бэкэнд-звонках. Префект ВОЛЮ...
Остановите каждый переключатель страницы в ожидании перенаправления и 2s-мертвия
Пререндеринговая работа в 4fae924 фиксировала сервер и маршрутизатор, а также сайт. Потребовалось 1-2 секунды, чтобы изменить страницу. Это никогда не было сеть...
Предоставьте маршруты снова и дайте навигации что-то, чтобы нарисовать
Локальный макет разрешал свои сообщения голым getMessages(), который читает Запросите заголовки и выберите приложение ENTIRE из статического рендеринга. без loa...
Разрешить аннотацию платформы каждого обработчика один раз
Перехватчик зарегистрирован на /**, поэтому поиск аннотации выполняется на каждом устройстве. запросить эту услугу, вход включен, и AnnotatedElementUtils ходы м...
Попросите непрочитанное количество, а не все дерево папок
Почтовый значок требует одного целого числа и забирает каждую папку в почтовом ящике. Найдите его, который у провайдеров IMAP является самым дорогим звонком в п...
Перестаньте заставлять почтовый ящик ждать на двух поисках, он может увидеть ответ на
Две круглые поездки все еще сидели перед визуализированным почтовым ящиком, и к этому моменту они Осталось только одно — папка и первая страница уже Прибыл пора...
Спрашивайте раньше, спрашивайте один раз и прекратите спрашивать о том, что не изменилось
Еще три вещи стоят между открытием / сообщениями и просмотром почты. Ничего не запрашивалось, пока не приземлился пучок. /сообщения тянут несколько Мегабайт Ja...
Перестаньте платить за ключ, который ничего не читает, и перестаньте ждать, чтобы спросить
Три вещи замедляли /сообщения до того, как было получено одно сообщение. Каждый звонок по электронной почте сначала совершал круглую поездку в /api/generate-ot...
Перестаньте открывать каждую папку и перестаньте получать каждое сообщение
Две проблемы с кругосветным путешествием на критическом пути /сообщений, оба невидимы Код, который их вызвал. ListFolders открывали каждую папку только для чте...
Получите сводные ломтики от одной ассоциации и считайте вместо сканирования
Внимание Обзора и последние кусочки читают заголовок за строку с ЛАЗИ @ManyToOne, стоимость до 16 дополнительных выборов за блок в рамках открытой сессии-в-прос...
Обновить статистику планирования после еженедельной реконструкции GeoLite
YugabyteDB не проводит автоматический анализ, и своп staging+rename заменяет Geolite blocks оптом — так что после каждой воскресной синхронизации планировщик не...
Индекс диапазона геолитов должен быть ASC, а не HASH по умолчанию от YugabyteDB
IP-поиск - это сканирование диапазона: Где сеть start <= ? ORDER BY network start DESC LIMIT 1 YugabyteDB разбивает столбец индекса LEADING на HASH, если не ук...
Индекс диапазона геолитов должен быть ASC, а не HASH по умолчанию от YugabyteDB
IP-поиск - это сканирование диапазона: Где сеть start <= ? ORDER BY network start DESC LIMIT 1 YugabyteDB разбивает столбец индекса LEADING на HASH, если не ук...
Дайте YugabyteDB реальные ресурсы и закрепите его память
Он работал меньше, чем CockroachDB, который он заменил - 20Gi / 6cpu против 32Gi/8cpu от CockroachDB - при необходимости больше, потому что YSQL работает отдель...
Дайте YugabyteDB реальные ресурсы и закрепите его память
Он работал меньше, чем CockroachDB, который он заменил - 20Gi / 6cpu против 32Gi/8cpu от CockroachDB - при необходимости больше, потому что YSQL работает отдель...
Hash только с BLAKE3, поэтому пропуск загрузки экономит время
Dedup работал — сервер входил в систему «связанный БЕЗ загрузки» и 358 МБ никогда не покидал сервер. Машина — но участник всё ещё ждал, потому что вычислил SHA3...
Примите только BLAKE3, поэтому дедуп быстрее, чем загрузка
Конечная точка связи требовала обоих хешей. Браузер не имеет быстрого SHA3-256, поэтому У него уже был файл объемом 358 МБ, который занял ~ 20 секунд против 18,...
Сопоставьте сохраненный контент только на BLAKE3, чтобы браузер мог позволить себе спросить
Для доказательства владения нужны оба хэша, а в браузере нет быстрого SHA3-256 — js-sha3 чистый JavaScript ~25 Мб/с. Измеряется на 358 Мб видео, которое было ~2...
Читайте последнюю дату снимка без загрузки истории
Резюме требует одной даты. Он читал его, загружая двухлетний диапазон Снимки и max — пять доменов раз в день истории, на Каждая страница загружается, чтобы отве...
Одно сканирование матрицы плана по запросу каталога приложения
Кроме того, отменяется неиспользованный импорт DevelopmentStageType и корректируется Комментарий автопроизводителя, в котором до сих пор описано правило сцены к...
Ответьте на вопрос матрицы плана для каждого приложения за один проход
Вкладка «Приложения и функции» спрашивает, отображается ли каждое приложение в матрице плана. Форма per-app сканирует таблицы планов и надстроек один раз на при...
Прекратить повторный запрос истории вызовов на расширение, когда провайдер работает по всей инстанции
Конечная точка RingCentral является расширением и игнорирует аргумент, поэтому он возвращается. Один и тот же журнал для каждого расширения. Как только страница...
Создайте mlos doc req borrower idx для повторного использования запроса перекрестного займа хранилища
Индекс (borrower uid, organization id) для повторного использования запроса перекрестного займа хранилища
Stop per-boot customer id FK перетягивание каната в SchemaCleanupRunner
Удалить устаревшие RetailCustomer->Учетные капли commerce carts.customer id, **************************** ************************* Эти Колонны теперь живые, пр...
Снижение сложности PoW (стоимость 1000, счетчик 2000-4000)
Стоимость решения является продуктом CHALLENGE COST x контрдиапазона; сверхскоростной (~ 37,5 млн патронов PBKDF2, ~ 40-75x акция Capcha), делая Медленный видже...
Tier 2 — Hikari + RestTemplate timeouts + Stripe SDK + Redis cache
- RestClientConfig: single shared RestTemplate bean with 5s connect / 30s read timeouts. MediaServiceClient / NotificationDispatchService / OfacSanctionsSer...
Страницы запросов репо + countByStatus для горячих путей
- Кредитный репозиторий: countByStatus / countByOrganization Статус + Страница <Loan> findByStatus(...) ******************* ******************* ****************...
Объединение частичных DTO в локальное состояние, сбросьте refetch-after-patch
Каждое автосохранение в стиле редактирования (названия полей, занятость, активы, обязательства, REO), декларации, военные, демография HMDA, составитель), исполь...
Коллапс трубопровода kanban N+1 к единому сгруппированному счетному запросу
listForOrganization() используется для выдачи одного условного кредита (201 запрос) 200 кредитов. Теперь единый сгруппированный JPQL агрегат, основанный на loan...
Магазин гео на билете при создании, скачать GeoLite
****************************************************************************************************************************************************************...
Посетители с большой нагрузкой и пропустите поиск GeoLite в списке
Конечная точка списка /api/support/tickets была запущена на странице из 20 строк: - 20 **************** звонков (N+1) - 20 звонков на GeoLookupService.lookup, к...
Добавить findBySessionGuidIn для сыпучих погрузок
Используется конечной точкой списка поддержки, чтобы привлечь всех посетителей для страница в одном запросе вместо N отдельных вызовов findBySessionGuid.
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.