Перейти к содержимому

Como melhorar em 10x a performance de apps Node.js (CPU Profiling + Optimization = magic)

Erick Wendel

0:00 / 0:00

Como melhorar em 10x a performance de apps Node.js (CPU Profiling + Optimization = magic)

13 898 просмотров · 1 год назад
Erick Wendel
158 тыс. подписчиков
13 898 просмотров · 1 год назад
Nesse vídeo, vou te mostrar como você pode inspecionar problemas de performance em Node.js usando apenas os módulos nativos do Node.js usando uma técnica chamada de CPU Profiling Você vai aprender como usar módulos nativos do Node.js para identificar quem é o módulo que está atrasando todo o projeto e de quebra ter algumas ideias do que não fazer em suas aplicações Vou te mostrar como identificar a linha, função e módulo que está causando a lentidão a partir de um teste de carga e com esses conhecimentos, você pode replicar no seu projeto e já avaliar o que pode estar acontecendo de errado #Nodejs #Performance E aí, bora ver? ✅ Playlist completa https://ewbr.cc/playlist-performance ✅ Formação JavaScript Expert https://ewbr.cc/javascriptexpert-yt ✅ Recebendo em Dolar? Vai de Higlobe https://ewbr.cc/higlobe-yt-112224 ✅ Vem para a EW Academy (de graça) https://ewbr.cc/ewacademy-conta-gratuita ✅ Template Inicial https://ewbr.cc/nodejs-apps-with-issues ✅ Referencias https://discoveryjs.github.io/cpupro/ https://www.npmjs.com/package/autocannon https://github.com/nodejs/node/pull/4... https://www.npmjs.com/package/autocannon ✅ Timeline 00:00 - O que você vai ver neste vídeo 00:37 - Intro 00:47 - Resolvendo problemas de performance de clientes com as técnicas deste vídeo 01:12 - Dica de curso para aprender javascript em nível avançado 01:35 - Se inscreva no canal e ative as notificações! 01:51 - O maior desafio de performance nas aplicações 02:09 - A importância do Open Telemetry 02:20 - Usando um módulo nativo do Node.js 02:45 - Chamando o ferramental do Chrome via Node.js 03:00 - O projeto da demo 03:19 - Aplicação de testes de carga no projeto 03:32 - Ferramental que te ajuda a economizar em recursos 03:50 - Dica para receber em dólar no Brasil: HiGlobe 04:46 - Preparação da demo: faça fork do projeto e deixe uma estrela no repositório! 05:08 - Início da demo clonando o projeto 05:25 - Testando o projeto e entendendo as rotas 05:39 - Versão de Node.js usada no projeto 05:51 - Rodando o projeto e comparando as rotas 06:37 - Criando a funcionalidade que vai extrair os dados da CPU na V8 com módulos nativos 07:19 - Inicializando a função de cpu profiling 08:14 - Extraindo o start e stop 08:27 - Rodando o start para verificar erros de sintaxe 08:56 - Criando o stop na função 09:39 - Testando o stop 10:15 - Salvando o resultado da função num arquivo 11:17 - Testando as alterações e verificando o arquivo criado 11:41 - Abrindo o arquivo gerado no navegador 12:15 - Setar o stop para ser executado quando encerrar o programa 13:11 - Testando novo comportamento do stop 13:25 - Instalando o Autocannon para testes de carga 14:14 - Analisando os resultados do primeiro teste de carga 15:18 - Verificando em detalhes a performance 16:36 - Tratando o problema de lentidão 17:09 - Testando remover o cloneDeep() 17:47 - Avaliando o resultado de alterar apenas uma linha de código 17:59 - Acompanhando os resultados da alteração 18:48 - Alterando uso do loadash por javascript puro 19:21 - Testando alterações 20:04 - Analisando os novos resultados 20:17 - Fazendo alteração no uso do map 20:51 - Testando alterações com um novo teste de carga 21:47 - Reavaliando qual era o ponto mais problemático das otimizações 22:46 - Analisando o último teste de carga 23:32 - Importância do uso do ferramental deste vídeo 24:11 - Próximos passos 24:28 - Onde encontrar os links e referências do vídeo 24:39 - Playlists do canal 25:03 - Considerações finais 25:21 - Deixe seu like e compartilhe esse vídeo!