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!