Resolver os ícones da org no servidor e pré- ligar a origem
Farol chamado theme.kamocrm.com como uma origem não conectada no valor de 300 ms, enquanto também relatando nenhuma origem pré-conectada, e última rodada li que...
Parar três pacotes de rota sendo prefetched na homepage
Farol 103 KiB de " JavaScript não usado" nomeado quatro pedaços, dois deles essencialmente 100% não utilizados. Nenhum deles aparece no HTML da página inicial —...
Nomeie as larguras do cenário e leia a configuração do tema no servidor
Duas descobertas, ambas estavam a fazer algo diferente do que o código dizia. O Backdrop estava preparando o Candidate 1920. 149 KB, para uma imagem decorativa...
Comprimir as imagens com mais força, manter as cartas paradas, soltar pedidos duplicados
Imagens. Cada configuração de qualidade na página desce um passo, e a lista de permissões em next.config.ts vai para [30, 50] para que nada possa pedir mais sil...
Dividir o herói e tirar as duas últimas bibliotecas da página
Passo C. Nem GSAP nem Framer Motion está na homepage mais, eo O espaço de nomes de mensagens `home' não é mais enviado para o navegador. JS 241,999 -> 214,135 ...
Sete secções param de hidratar
Passo B. TrustBar, WhatReplacesWhat, Como Funciona, UseCases, Características, CTAStrip e Os preços são componentes do servidor agora. Eles renderizam para HTML...
Tire o tempo de execução da animação da homepage inteiramente
Passo A do trabalho de hidratação. Framer Motion se foi da página inicial ansioso feixe: 798.723 -> 687.593 bytes brutos, 245.367 -> 209.422 gzip. São 35.945. m...
Pare de renderizar oito seções fora da tela antes que o herói possa pintar
O LCP era de 4,4 s, e a sua repartição dizia onde: 120 ms para o primeiro byte, 290 ms de atraso de carga, 390 ms realmente baixando a imagem - e, em seguida, 1...
Desfaça as duas alterações que custam 380ms de tempo de bloqueio, e acalme o telefone
As duas últimas rodadas tiveram a pontuação de 87 a 67. Bloqueamento total O tempo passou 80 ms a 460 ms e LCP de 3,9 s a 4,4 s. Duas das minhas próprias mudanç...
Mover o título para o compositor e o elemento de conversa fora de carga
Duas coisas restantes da última rodada, ambas marcadas em vez de feitas porque Cada troca de algo. A fazê-los agora. A linha da frente passa pela luz. Era uma ...
Inline a folha de estilo, e soltar polifills nada pode alcançar
Dois achados do farol, ambos ficaram abertos após a última rodada porque Eu tinha concluído que eles não eram endereçáveis. Eram; eu não tinha procurado muito C...
Parar o transporte 1,8 MB de fundos não redimensionados após a hidratação
ThemedBackground foi a coisa mais cara deixada na página inicial, e nenhum dos Parecia um insecto. Ele renderizou um cru <img> direto no balde tema, então o nav...
Pare a dobra à espera de hidratação e limpe a janela de carga
A página inicial enviou toda a sua dobra invisível. Framer Motion serializa um `inicial` prop no HTML pré-renderizado como um estilo inline, então a marcação ch...
Procura o bloco de um candidato em vez de voltares à mesa
/api/send levou 1,8-7.9 s para a maioria dos endereços e ms de um único dígito para alguns, que não é um problema de carga — é a forma da consulta geolite. getL...
Pare o rastreador de análise sequestrando todos os links, exceto Home
Cada página, exceto a página inicial, levou segundos para abrir, e a razão nunca foi no próprio caminho de navegação deste aplicativo: o servidor pré-renders, p...
Baixe o limite de carregamento em todo o site que apenas páginas secundárias pagas
Cada página exceto a página inicial parecia lenta, que aponta diretamente para as (páginas) subárvore — e em algo que eu coloquei lá. Quando 4fae924 adicionado ...
Renderizar a contagem do changelog, atualizá-la ao publicar em vez de na visita
Todos os visitantes iam buscar este número. PreviewBanner vive no compartilhado layout, então em cada página que atingiu /api/changelog/hoje após a hidratação, ...
Pare de prefetching um megabyte por página, e pare de chamar a infra- estrutura de graça
Dois custos que foram pagos em cada página, ambos encontrados seguindo o próprio repórter Um palpite sobre a I18n e chamadas desnecessárias. VOLUME PREFETCH — ...
Pare cada interruptor de página esperando em um redirecionamento e um 2s fade-in
O trabalho de pré-renderização em 4fae924 fixou o servidor e o roteador, e o site Ainda senti que levou 1-2 segundos para mudar de página. Nunca foi a rede. Dua...
Prender as rotas novamente e dar uma navegação algo para pintar
O layout locale resolveu suas mensagens com um getMessages (), que lê request headers e por isso optou pela aplicação TODA a partir de renderização estática. Se...
Resolver a anotação da plataforma de cada manipulador uma vez
O interceptor está registrado para /** assim que a pesquisa da anotação executado em cada solicitar este serviço serve, sinal incluído, e AnotadoElementoUtils p...
Pedir a contagem por ler, não a árvore de pastas inteira
O crachá de e- mail precisa de um inteiro e foi buscar todas as pastas na caixa de correio para encontrá-lo, que nos provedores IMAP é o mais caro chamar a infr...
Pare de fazer a caixa de entrada esperar em duas pesquisas que pode ver a resposta para
Duas viagens redondas ainda se sentaram na frente de uma caixa de entrada renderizada, e por este ponto eles foram a única coisa deixada lá — a árvore de pastas...
Pergunte mais cedo, pergunte uma vez, e pare de perguntar o que não mudou
Mais três coisas entre abrir / mensagens e ver o correio. Nada foi solicitado até que o pacote tivesse aterrado. /mensagens puxa várias megabytes de JavaScript...
Pare de pagar por uma chave que nada lê, e pare de esperar para perguntar
Três coisas estavam diminuindo /mensagens para baixo antes de uma única mensagem foi obtida. Cada chamada de e-mail fez uma viagem redonda para /api/generate-o...
Parar de abrir todas as pastas e parar de refazer todas as mensagens
Dois problemas de ida e volta no caminho crítico /mensagens, ambos invisíveis no código que os causou. listFolders abriu cada pasta somente para ler dois intei...
Obter as associações 'to-one' das fatias de resumo e contar em vez de digitalizar
A atenção da Visão Geral e as fatias recentes lêem um título por linha de um LAZY @ManyToOne, custando até 16 seleções extras por bloco sob sessão aberta em vis...
Atualizar as estatísticas do planejador após a reconstrução semanal do GeoLite
O YugabyteDB não analisa automaticamente, e a troca de estadiamento + renomeia substitui geolite blocks atacado -- então, depois de todos os domingos sincroniza...
O índice de gama Geolite deve ser ASC, não o Hash padrão do YugabyteDB
A pesquisa IP é uma varredura de alcance: ONDE network start <= ? ORDEM POR network start DESC LIMIT 1 YugabyteDB partições da coluna de índice LEADING por HAS...
O índice de gama Geolite deve ser ASC, não o Hash padrão do YugabyteDB
A pesquisa IP é uma varredura de alcance: ONDE network start <= ? ORDEM POR network start DESC LIMIT 1 YugabyteDB partições da coluna de índice LEADING por HAS...
Dar recursos reais YugabyteDB e fixar sua memória
Ele estava rodando em MENOS que o BarataDB substituiu -- 20Gi/6cpu contra O 32Gi/8cpu do BarataDB -- enquanto precisa de mais, porque o YSQL executa um separado...
Dar recursos reais YugabyteDB e fixar sua memória
Ele estava rodando em MENOS que o BarataDB substituiu -- 20Gi/6cpu contra O 32Gi/8cpu do BarataDB -- enquanto precisa de mais, porque o YSQL executa um separado...
Hash com BLAKE3 somente, então pular o upload realmente economiza tempo
Dedup funcionou — o servidor logou 'linked SEM upload' e 358 MB nunca deixou o máquina — mas o membro ainda esperou, porque a computação SHA3-256 ao lado do BLA...
Aceitar uma reivindicação BLAKE3 somente assim dedup é mais rápido do que carregar
O endpoint da ligação exigiu ambos os hashes. Um navegador não tem rápido SHA3-256, então prová-lo já tinha um arquivo de 358 MB levou ~20 segundos contra um up...
Combine conteúdo armazenado no BLAKE3 sozinho, para que um navegador possa se dar ao luxo de perguntar
Provar posse exigiu ambos hashes, e um navegador não tem rápido SHA3-256 — js-sha3 é JavaScript puro em ~ 25 MB/s. Medido em um vídeo de 358 MB que foi ~ 20 seg...
Leia a última data de instantâneo sem carregar o histórico
Um resumo precisa de uma data. Ele estava lendo-o carregando um intervalo de dois anos de fotos e tirar o máximo — cinco domínios vezes todos os dias da históri...
Uma análise de matriz do plano por pedido de catálogo de aplicações
Também deixa cair a importação agora não usada do DesenvolvimentoStageType e corrige o comentário auto-provision, que ainda descreveu a regra do estágio o catál...
Responder à questão da matriz do plano para cada aplicativo em uma passagem
A guia Apps & Features pergunta se cada aplicativo aparece na matriz do plano, e o formulário por aplicativo verifica as tabelas de recursos e complementos de p...
Parar de requisitar o histórico de chamadas por extensão quando o provedor é amplo
O endpoint do RingCentral é extensão/~ e ignora o argumento, então ele retorna o mesmo log para cada extensão. Uma vez que uma página adiciona nada de novo, o r...
Criar mlos doc req brower idx para a consulta de reuso de créditos cruzados
Índice (emprestador uid, organization id) para consulta de reuso de empréstimos cruzados
Parar por-boot cliente id FK reng-of-war em SchemaCleanupRunner
Remova o varejo obsoletoCliente->Limpeza de conta das gotas de commerce carts. Customer id, **************************** E... Aqueles colunas estão agora ao viv...
Menor dificuldade de PoW (custo 1000, contador 2000-4000)
Resolva o custo é o produto da linha de contador CHALLENGE COST x; ambos foram sobre- ranked (~37.5M PBKDF2 rodadas, ~40-75x uma Capcha estoque), fazendo o widg...
Tier 2 — Hikari + RestTemplate timeouts + Stripe SDK + Redis cache
- RestClientConfig: single shared RestTemplate bean with 5s connect / 30s read timeouts. MediaServiceClient / NotificationDispatchService / OfacSanctionsSer...
Consultas de repositórios paged + countByStatus para caminhos quentes
- Repositório de Empréstimos: contagemPor Estado / contagemPor Organização E Status + Página<Empréstimo> findByStatus(...) / **************************** ******...
Mesclar DTOs parciais no estado local, soltar refetch-after-patch
Cada gravação automática de estilo de edição (campos de nomes, emprego, ativos, passivos, REO, declarações, militares, demografia do HMDA, originador) usado par...
Recolher o gasoduto kanban N+1 para uma única pesquisa de contagem agrupada
listForOrganization () usado para emitir um pedido de condição por empréstimo (201 consultas em 200 empréstimos). Agora um único agrupamento JPQL agregado chave...
Armazenar geo no ticket na criação, soltar GeoLite lê
**************** agora captura o geo do visitante uma vez (via GeoLookupService) e persiste ip/país/cidade/subdivisão em O próprio SupportTicket. SuporteTicket...
Visitantes em massa e ignorar a procura GeoLite na lista
O endpoint da lista /api/support/tickets foi executado, por página de 20 linhas: - 20 chamadas. - 20 chamadas para GeoLookupService.lookup, cada uma das quais é...
Adicionar findBySessionGuidIn para carregamento a granel
Usado pelo endpoint da lista de bilhetes de suporte para obter todos os visitantes para uma página em uma consulta em vez de N separado findBySessionGuid chamad...
Como o que vês no transporte?
Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.