e você vai aprender esse vídeo uma série de técnicas para turbinar suas aplicações node JS com poucas alterações vou te mostrar como usar um modo interno do node. js para aumentar a capacidade da sua aplicação e claro como você pode fazer um benchmark rodar o teste de carga vou também te explicar sobre gerenciamento de erros e como fazer com que cópia de aplicações se recuperam sozinhas para que tudo isso faça você gastar menos dinheiro em servidores explorando o máximo do potencial Donald s e aí beleza eu sou Eric vendeu e o vídeo de hoje é um experimento para mostrar como pequenas alterações podem resultar em grandes melhorias hoje eu vou falar sobre como multiplicar a capacidade do node. js adicionando somente 10 linhas de código então já abri o seu editor de código java script pega um drinque aí mano e bora pro vídeo com o E aí [Música] você já sabe né não deixou like no vídeo ainda já deixa aquele like no vídeo se inscreve aqui no canal que mano isso fortalece demais o trabalho que eu faço aqui no YouTube toda semana tem conteúdo novo aqui no canal e você pode sugerir conteúdos que você quer aprender escrevendo diretamente aqui nos comentários Eu geralmente leio todos os comentários e claro adicionou na fila dos conteúdos aqui no canal e todos os dentes das minhas redes sociais e o código fonte dessa aula já estão aqui na descrição para você acessar após o vídeo beleza eu eu trabalhando focado em performance de aplicações Django escrito há alguns anos e fiz consultoria para grandes players brasileiros de vários setores eu acompanho regularmente as histórias e as dificuldades esses clientes e tento sempre sugerir pequenas melhorias que podem fazer uma grande diferença em aplicações existentes existem inúmeras formas de explorar o potencial máximo Donald s no meu treinamento do exército Expert eu mostro várias dessas maneiras seja aumentando a capacidade máxima de uso de memória da plataforma seja gerando novos processos seja gerando novas Olá seja clonando o processo ou até com que vermelho Sky as tem um vídeo aqui no canal então like tá no card o que eu quero te mostrar hoje é um experimento que eu fiz baseado em um artigo que tem até um passo a passo nós vamos criar uma web mais simples que simulam processo que bloqueia ou não JS Então nós vamos rodar o teste de carga Depois eu vou te mostrar a técnica para fazer com que esses processos se multipliquem e sejam reativos ou seja se o processo morrer a aplicação será inteligente o bastante para criar novos processos automaticamente Uptime geralmente é um mistério para vários deves o Uptime ele está diretamente ligado com o que acontece com a sua aplicação Se der algum erro ou seja você tem uma aplicação no ar sendo bombardeada por tênis e mesmo que um erro inesperado aconteça você precisa continuar recebendo e respondendo clientes aí enquanto se recupera do problema aí vem a pergunta de um milhão de dólares como garantir independente do que aconteça Você sempre tem uma cópia da aplicação responder para novos clientes aquele dia mais encontra uma página disponível seu problema e aí como é que faz o melhor e como criar cópias do nosso programa para aumentar a disponibilidade do nosso serviço sem precisar instalar qualquer outra biblioteca ou até mexer infraestrutura em onde é se você consegue ouvir por eventos específicos sobre quando alguém pediu para encerrar o problema e claro quando algum erro inesperado aconteceu e é a partir desses eventos que nós conseguimos encerrar o programa corretamente usando a técnica de Greys Foot Down e gerar novas cópias caso o programa teremos alcançando assim o tão sonhado zero Dawn time se você não viu o vídeo que eu fiz sobre a técnica de Greys feudal não tem problema você pode ver logo após esse vídeo mas ele é um complemento para essa aula a técnica de hoje e o Grace jot Down fazem parte de um combo perfeito para você que quer escalar desenvolver aplicações tolerantes a falhas e se você ainda não viu esse vídeo ele também tá aqui no card para você ver Depois em node.
js você consegue usar o modo cluster para criar cópias a sua aplicação e usar um processo Man para ir coordenar chamadas e balancear a carga ou até mesmo e o pacote pm2 extremamente usado por aí então mano chega de falar né chega de falar então ir embora para dentro só tô aqui nele né mano vamos velho visual Studio code e como de costume tô aqui com aplicação zerada né então vamos criar nossa primeira pastinha e vou chamar ele de cinco e Piauí certo então vai entrar nesse cinco espiarem vou inicializar um pacote não JS com a gente sempre faz bom e já vou criar aqui o nosso arquivo aí vou chamar de server. GS certo então como de costume eu vou criar uma pay bem simplória aqui nos anos somente um JS né sem estar pacote nenhum e em seguida vou fazer o quê mano vamos realizar esse serviço aí então eu vou falar que que vou guardar o nosso cérebro vai ser o que mais eu http. Creed server ele recebe quem o rico és eu response Tá certo depois eu posso fazer o que posso dar um server.
Listen passa a porta para ele certo e eu vou dar aqui 1. 1 ou do almoço né ones listening toma vez que ele inicializou ele vai falar o que ele vai dar um console controlado para gente aí falando que o server started in processes e Olha que bacana que vou fazer aqui eu vou pegar o número desse processo certo então vai ser o cruce sair de e vai ser um pros seus. Aí Dinha é piadinha verdade p ai Diego beleza e aí eu vou só dar um logo aqui porque quando a gente foi escalar vai ser legal a gente vê aí aonde eles estão rodando então vocês vão lá que eu tô criando uma aplicação isso toda quebrada né cara uma aplicação comprovado de performance e tudo mais então eu vou criar aqui ó um four certo com inglês que vai até o um e sete ou seja vai ser sete dígitos aí para ele poder rodar certo ainda que se mais mais beleza e aí depois que ele terminar de jogar esse four eu vou dar um resto.
Em ti ó e vou falar lá sei lá o Renault vai pedir aqui não é reza é o responso E aí eu coloco Qual que é o processo Side que a gente tá manipulando aqui se eu vim aqui e já dá um node nesse server que que vai acontecer E aí ele falou que não posso usar o importe Então vem aqui no nosso pack de Jason dá um Type mod certo em seguida Rosa o server de novo e vou rodar um carro aqui para gente ver se essa feita retornando conforme a gente quer então rodei lá e foi bem rápida né Aparentemente está tudo funcionando tudo dentro de um processo só Então como é que agente faz para rodar um teste de carga vou entrar nessa sem copiar e vou instalar e o módulo alto que no quer um pacote aí pra gente fazer teste de carga usando somente no DS bem bacana Ah então tá instalou para você tiver no futuro essa instalação aqui essa é a versão que eu estou usando né a versão do node A Thais que eu tô rodando é 17 do momento beleza só para você já saber como mudar então aqui eu já vou criar dois escrito certo eu vou querer aqui o start Então vai ser o que mais eu não hoje no server ponto de r&s Na verdade eu vou fazer o seguinte vou guardar ele numa pastinha chamada essa aí cê só pente dividir um pouquinho mais fácil aí aqui eu coloco só essa aí você não viesse e aqui no teste vou fazer o seguinte mano aqui eu vou dar nem PX certo para ele procurar pelo módulo dentro da onde Morris e eu vou usar o alto que no então autocannon ele precisa ir falar algumas informações que informações que vou colocar em eu vou colocar quantos usuários simultâneos estão os e eu vou passar usuários aí 500 usuários eu vou falar pelo olhar por 30 segundos então menos de é a duração beleza e em seguida eu passo qual que é o URL que eu quero trabalhar também sempre a gente fazer aí Oi Carla Então tá mano se a gente rodar o n permitir o imprimir teste né vamos ver o que acontece Ah tá ele falou que cara ele conseguiu rodar quanto aí ó deu para gente 430 erro certo a gente rodou o que 500 conexões aí então aparentemente nosso serviço tá funcionando ok certo eu vou fazer o seguinte eu vou criar uma caixinha aqui só pra gente comparar depois eu vou chamar ele benchmark certo e vou colocar aqui um um traço Simple Y deixa externo e eu vou basicamente copiar esses resultados jogar pra lá mas na verdade que que eu posso fazer eu quero mais informações acho que seria legal a gente pegar mais detalhes dessa aplicação então que a gente pode fazer eu vou passar aqui que eu vou usar workers vou para usar 10 Ted certo então não adianta você vai criar novas Frades aí para ele poder executar isso em paralelo para gente forçar um pouquinho mais vou passar o render status code no plural né para gente ver quantos deram sucesso mas não é concessionária está tudo Zen sou 500 assim por diante vou passar também o ato em si certo para retornar o relatório completo de latência que ele tá usando e vou também vou passar o último aqui deixa eu só terminar um pouquinho para você ver o último que eu vou passar aqui vai ser bem legal que é o ar up certo que que ele vai fazer ele vai basicamente rodar e algumas requisições só para iniciar e depois ele realmente vem com o teste de carga para rodar em cima só que é extremamente usado aí quando você quer realmente testar a sua aplicação ao longo do tempo então seja para o ar map eu vou colocar somente um usuário concorrente durante dois segundos certo mas você poderá aumentar ou diminuir esses valores também então recapitulando 500 usuários concorrentes durante 30 segundos nosso sistema operacional vai usar 10 treds aí para poder executar essa esse teste de carga a gente vai renderizar o nosso relatório final os códigos aí de retorno lança bem a gente vai mostrar o relatório completo de latência né só que vai ser hoje para você quando quiser testar alguma coisa da sua aplicação e a gente antes de rodar o teste de carga a gente vai mudar um ar map ou seja vai inicializar e rodar um teste de carga bem pequenininho só para nossa aplicação inicializar que tiver e a gente vem com teste Porradão é só pra gente garantir que de repente não é alguma coisa na um banco de dados que tá ali é dependendo das primeiras conexões porque ele Achei assim por diante beleza Ah tá vou salvar isso aqui e vou mandar rodar densidade de carga de novo se você quiser parar só para você é Rodar já que o nosso script Então vou dar um tempo start e do outro lado eu vou dar um ipmt o e legal que lá no alto que não se você quiser ver mensagem de erro também você pode passar Flag menos menos de bang ele vai mostrar outras informações também beleza Olha a diferença agora olha a quantidade de informação que a gente ganhou dessa vez Então eu vou guardar todo esse log certo e vou colocar no sinpolpi aqui para que para gente comprar depois mas olha o tanto de informação útil né a gente teve lá a porcentagem e Lá tem seu seja 99% aí dos nossos requisições demoraram 15 segundos porque porque a gente tá rodando uma tarefa que basicamente trava aí o nosso programa não JS mas mesmo assim ele conseguiu aí rodar 3. 000 requests né E t714 tá e maus ou entre outros erros aí por diante e a gente teve aí que realmente terminou a requisição naquele tornou 200 1746 então a gente vê que é uma taxa bem pequena né então de 3 mil somente 1700 a gente esperou aí para poder tornar Então tá mano eu quero é só mais uma coisa para quem já tava no vídeo anterior para quem viu lá sobre o Grace funcionar tal qual o nosso objetivo aqui se o sistema operacional falar que ele precisa encerrar esse programa eu quero basicamente é fazer com que ele fecha a conexão do nosso servidor para que ele não receba nenhum reflete novo mas ele terreninho que tiver processando para só então ele matar o processo Então vou colocar aqui ó aguardar as conexões serem encerradas para só então encerrar o programa certo eu como é que eu vou fazer isso eu vou dar um pros spontoon vou pegar o seguinte então já lá no vídeo anterior eu já expliquei é se quiser vir já deixa nos cards também e vou colocar aqui ó console. Log server and e vou colocar aqui um deste.
Now que é melhor colocar um vou colocar um ninho leite o ponto tio ezstream é para imprimir mais bonitinho E aí seguir eu vou fazer o que eu vou chamar o server. Close certo então eu interceptei aí e aí quando ele terminar quando encerrar Aí sim vou dar um processo. É que esses Beleza então vou salvar isso aqui e olha a diferença agora se eu vim aqui no IBM I start e aqui do outro lado eu da 1kg nesse processo Olha que bacana que vai acontecer é só que é aparentemente uns para o ar na verdade aqui ele é o sigterm sigterm então agora sim eu mandar imprimir start a e agora vou dar o kill nesse dia aqui que sobrou certo Agora sim agora ele terminou a nossa aplicação para só então ele realmente encerrar o nosso servidor para que isso para que quando a gente tiver escalando né matando o processo processo subindo descendo a gente realmente a guarda e ali para os nossos usuários que estão conectados terminarem a sua transação para falar então a gente liberar Beleza então tá mano com isso a gente já tem aí é o nosso relatório para esse cara então o que a gente vai fazer a gente vai duplicar basicamente isso projetam quiser fechar tudo ó vou fechar tudo aqui e eu vou basicamente duplicar esse arquivo em um sapatinho inteira e eu vou chamar ela de que vou chamar ela de kloster ex gostei Pie beleza que moram Simple e o outro é o câncer Então tá qual que vai ser a diferença agora agora no cluster a gente vai usar um outro arquivo certo que vai gerenciar os processos você a gente vai criar cópias essa aplicação automaticamente Então a primeira coisa que eu vou fazer após isso é já lá no pack.
de Zone aqui eu já vou colocar o indux certo ao invés de ter o server vai ser o Windows porque o início a quem vai gerenciar Então olha que bacana que dá para fazer hoje até sem instalar nada cara agente tem lá o módulo Então já pode importar deo se a gente pegar e algumas informações de CPU se a gente quiser e a gente pode importar o pôster tá esse cluster tá desde sempre dentro não JS né E olha que bacana que a gente pode fazer a gente pode verificar aí se o nosso cluster é o prime e ele é work ou seja o Primer é basicamente quem gerencia aí quem vai Balancear a carga aí das requisições Beleza e o worker é realmente quem vai trabalhar então Olha que bacana né antigamente esses termos eram conhecidos como Master e slave né mas finalmente trocamos essa nomenclatura para algo faça mais sentido aí para nós assar vida de programação né Então temos alguns worker e o primeiro então o que que eu quero saber se for o Primer eu quero executar uma função mas se esse clã ser nessa função que foi chamado aqui por worker eu quero executar outro então eu vou criar duas funções aqui então eu vou criar um contraste hum primei o processo certo e eu vou criar um outra quinta vou duplicar e no lugar o precisam né narrou pra vocês aqui vai ser processes e aqui vai ser worker Ah beleza então se for Prime vai rodar o Primer não se for Prime rodoprime se for pros hodkin old houses in Oi beleza a Érica não entendi ainda olha que a gente vai fazer a gente vai dependendo do serviço aqui a gente vai importar o nosso server e para ele poder ser usado e forma correta certo Então como que a gente pode fazer isso a gente vai lá primeiro né Acho que o mais legal a gente tem dia que a gente vai fazer no Premiere o primeiro e vai ser quem vai criar as cópias na nossa aplicação e fazer o redirecionamento aí dos projetos worker vai ser a mente o processo filho que vai executar realmente o código que está dentro do cérebro então aqui fica bem mais fácil né aqui eu posso colocar uma assim que vou colocar uma leite e vou dar um importe em quem no nosso server. DNS Só isso Beleza se for worker ele vai só executar o nosso serviço ele só vai criar uma cópia e se for para melhor que bacana a gente pode de repente né fazer como a gente vai bastante na internet por aí então colocar lá sei lá CPU o scp os pontos então pegar a quantidade de meu CPU só que aqui porque a gente sabe quem quiser Amém você pode criar a quantidade de cópias relacionadas ao CPU você pode vir aqui colocar celular vezes dois você pode colocar o tanto que a sua máquina tiver de memória disponível se você quiser Beleza então vou colocar vezes dois aqui só preciso saber disso então vou colocar um console. Logo aqui bonitão só para a gente saber então primei é tão Prime ele tem o seu próprio trouxe.
Pedir certo Islane Então dessa forma a gente já sabe que ele está rodando e eu tenho lá o console conta logo e também para quem Para falar que a gente tá forçando lá então for Kim que que é o forte né a gente criar novas cópias Nossa aplicação server with E aí eu vou colocar aqui ó CPU a gente saber a quantidade de cpus que a gente tá é que deveria se acha que é melhor colocar processos na processes carros é melhor ficar mais intuitivo por os SC eu vou dar um barriga aqui só para ele quebrar a linha bonitinho é bom feito isso que a gente vai fazer a gente vai rodar um forma então certo indique zero index for menor que o nosso processo scout e o e mais mais beleza com isso olha que difícil eu vou dar um cluster ponto forte Beleza quando eu for rodar ao câncer ponto forte ele vai executar basicamente esse mesmo arquivo só que na hora que ele for executar o cluster o objeto que ela será que ele vai mudar certo então para cada item que eu tiver nesse endereço aqui ele vai rodar e como worker e aí sim ele vai executar essa segunda função que a gente quer Beleza então tá mano Já criei aí Olha que bacana Olha o que já acontece na sua aplicação então eu vou vir aqui vou voltar a faixinha vai ser na onde vai ser o cluster a p e não que o senhor Piauí Então vou dar um npm start e olha aqui diferente cara Olha que bacana todos os processos estão rodando Então tá rodando oito processos ou seja minha máquina tem somente quatro o uso disponíveis aí para trabalhar mas eu já fiz aí vezes 2 porque eu quero mais cópias da minha aplicação eu não vou entrar muito a fundo sobre como funciona a comunicação do child-process Comic World faz aí as cópias do chá de processo mas é importante saber que a gente tá rodando todo mundo na mesma porta Olha que doideira todo mundo tá rodando a mesma porta mas é uma porta simbólica né o node. js vai e balancear a carga e vai redirecionar para todo mundo aí internamente então negócio ficar bem bacana também bom vou entrar onde agora vou entrar lá no Closure piar E se eu quiser rodar um teste de carga a gente já pode ver aí como que aplicação já está se comportando Ah beleza então a conta que a gente conseguiu entregar agora agora a gente entregou 6. 000 né então se a gente comparar com os Simpsons ep lá que não tinha cópia nenhum quanto que ele fez ao total ao total de fez três minutos a gente já dobrou a capacidade de requests certo e claro a gente Aumentou a quantidade de Thai Mouse aqui está rodando uma tarefa aí que tá travando node Então é isso que a gente queria testar isso a gente olhar o resultado agora dele ó a gente bateu aí 1700 no simple e aqui com cópia a gente aí mano quadriplicou quase não é quase cinco vezes como é o tema desse vídeo né que realmente para não mentir eu vou fazer o seguinte eu vou copiar esse código inteiro ó e vou jogar aqui no benchmark e vou colocar dois vai ser o cluster ap.
TXT beleza e aí para você comparar os resultados agora Olha que bacana que a gente pode testar se eu dar 1kg que que acontece nesse processo aqui ó e Olha que bacana cada processo ele já vai automaticamente aí morrendo certo então Olha que bacana Se eu matar a cada um deles eu vou matar os três só e eu rodar se o npm test né o crow em cima dele a gente vê que ainda ele estava ansiando a carga certo os processos estão ativos ainda para a gente poder fazer com ele só que que eu quero fazer eu quero que quando o sistema operacional fizeram um quilo nele aqui por exemplo um processo ele não só termine mas o nosso alvo né o nosso sistema primário ele criar novas cópias por quê Porque eu quero manter sempre aí mesmo que deu algum problema manter as nossas aplicações no lar então que a gente vai fazer primeiro vamos lá no nosso server e vamos modificar ele aqui para que ele aconteça um erro inesperado na Então vamos simular que um erro aleatório aconteceu por quê Porque isso é ser resiliente né é a gente vai lidar com a nossa aplicação ela vai continuar funcionando mesmo que mano no pior caso possível encerrou o processo Beleza então vou fazer o seguinte eu vou criar um set time-out Tá certo errado mano que eu vou fazer eu vou falar que essa função aqui para rodar não tá esmalte randômico certo para deixar mais difícil ainda da gente está lá e eu vou falar que o tempo vai ser um e 41 e quatro né ou seja 140 Então vai ser um número aí de no máximo 10 segundos nexon um dois três quatro é isso aí no máximo 10 segundos Beleza então o que a gente vai fazer a gente vai dar um próximos ponto é que existe um ou seja o esses um fala que realmente de algum chamou muito grande aí nossa aplicação e vai quebrar ela comum tudo beleza vou salvar isso aqui e vamos rodar essa aplicação novamente vamos ver como que ela vai se comportar então ali para crianças processos certo e não aconteceu nada até agora certo só que se eu vou dar um Chrome de dentro do nosso local Rush Será que nossa aplicação tá horta aplicação tá Caiu né ou seja nosso processo morreu mas ninguém reinicializou ele como a gente queria então agora vem a cereja do bolo lá no nosso clã que a gente faz o que a gente pega o evento dele então o cluster. On sheet então quando alguém morreu né alguma aplicação simplesmente parou a gente quer pegar Instância do worker vou pegar quem eu vou pegar o Cold também e daria para pegar o Zig não se você quiser saber o motivo do porque ele parou na então vou fazer o seguinte mano se esse código se for diferente de zero ou seja o ritmo né simplesmente não fosse ter uma operacional que pediu para matar ele realmente foi morrido ali ele foi morrido aí com erro ou seja o código dele vai ser um ou vai ser qualquer outro e eu quero validar também que o worker ele não foi aí ele não não morreu depois de uma desconexão Seja você já já estava desconectado ou não tem problema não ele não é para inicializar de novo então vou colocar aqui que ele tem que ser note Beleza então se ele realmente terminou com ele não foi o sistema operacional que desconectou ele ou simplesmente a gente que pediu para ele realmente desconectar aí a gente tem que tirar uma nova cópia Olha que difícil Vou colocar aqui console. Log a worker as lojas consegue para Walker aí a gente pega horker.
Prozis. pt certo a gente consegue pegar tudo o contexto Global da ele falar que ele morreu skedway in Another One beleza Olha que difícil aquelas ter ponto que em ponto forte de novo Olha que legal beleza E se eu quisesse eu poderia fazer um forte duas vezes aqui ainda né já ia falar mano morreu hoje eu quero que sobe 2 logo para não ter problema então vou salvar isso aqui vamos ver a diferença agora do nosso programa vou lá Dani prêmio start e ela subir oito processos ou ou que já morreu mas olha aqui olha que legal que ele tá sendo está sendo reativo então nosso aplicação tá morrendo e já tá esquentando outro se eu rodar o teste de carga agora que que vai acontecer então vou dar um IBM teste Nossa aplicação ali mano se recuperando os projetos morrendo ambiente mais caótico possível mas a gente tá realmente inserindo aí vários e vários e quests e vamos ver como a nossa a cortar vamos ver com o nosso teste de carga vai se comportar no pior cenário possível bom então ele terminou lá mano e Olha que bacana mesmo no pior cenário possível a gente conseguiu ainda bastante resultados eu vou fazer a mesma coisa né eu vou copiar esse resultado Vou colocar aqui um três cluster e Pie Dead processes né só para falar que ele tava morrendo a gente comparar os três Então vou até parar de executar isso aqui e vamos comparar Então vou colocar o três de um lado certo vou colocar o dois de outro e agora eu vou colocar um desse lado bom então vamos ver lá no primeiro né na primeira requisição era um único server em uma única equipe a que a gente tinha lá a gente criou novas cópias Ou seja a gente conseguiu entregar e quase cinco vezes mais requisições do cliente tinha sem comprar máquina nova sem levantar novos servidores sem precisar mexer ali no processamento da máquina a gente simplesmente adicionou-lhe 10 e a Record por quê que são 10 linhas de código que eu falo né porque se a gente olhar aqui no nosso index da O que faz o código que faz essa aumentar a capacidade são as cinco linhas aqui certo Olha que legal cara isso a gente tira o console. Logo ainda né será um que eram zelar somente oito linhas de código então é no é menos ainda do que a gente tem nessa a gente não contato os nossos impostos Mas beleza vamos vamos comparar lá vamos voltar para nossa comparação bom se a gente for ver a latência do primeiro do segundo ou é bem diferente né mas vamos ver do 99% né então a gente diminuiu a latência certo não tava no 15 segundos latência gigantesca que a gente abaixou e 9 segundos Então já deu uma boa boa melhorada de performance também tem vários clientes simultâneos e claro a gente dobrou a capacidade aí de requisições né porque nós teste de carga realmente não não esperou por todo mundo terminar beleza mano e aí no pior cenário possível né quando aplicações estão quebrando ao mesmo tempo e não GPS está lá e reiniciando Então vamos comprar ele com o primeiro né porque essa é a nossa comparação com cluster e sem o cluster ou seja Nesse caso a gente aparentemente rodou menos e quests por quê Porque é uma listinha nós morrendo e simplesmente quebrando ali matando todas as conexões dos clientes Mas mesmo nesse cenário caótico se a gente olhar os nossos resultados a gente dobrou a capacidade certo quase três vezes mais já me perguntar 1700 aqui sério duas vezes vai a gente dobrou a capacidade aí da nossa aplicação a gente teve algumas informações bem legais aí tipo a latência diminuiu também né então aqui bacana a gente teve várias sequências aí com somente 27 milissegundos e por cento Apenas mais se a gente olhar lá no final ela tem se a máxima dele no geral ela tem essa massa no meio dele conseguiu ser mais alta Mas se a gente olhar lá na nossa no nosso cálculo final Olha que bacana vamos ver comparando ele aqui eu tive 15 é que tinha 19 ou seja nesse caso a gente aumentou um pouquinho ela tem seu certo porque não adiantava ele tava trabalhando para levantar novas cópias enquanto tava recebendo requests encontra se recuperava por novos problemas ele tava realmente subindo novas aplicações e claro né não necessariamente só aplicação vai morrer ali após alguns segundos né alguns segundos aleatórios quando a gente criou mas mano você viu poucas linhas de código conseguiu fazer realmente dobrar a capacidade de resposta Nossa aplicação ou seja de basicamente mil e setecentos e Quest que a gente conseguiu confirmar que foram completo A gente dobrou e para quase cinco vezes em 4 mil requests ai cima aí eu tô bom e se você já chegou até aqui não deixa o seu você já sabe né se escreve aqui no canal também e liga as notificações para não perder os conteúdos que eu venho produzindo aqui e se você quisesse avisada sobre todo o conteúdo novo que eu venho produzindo eu te convida a entrar para nossa comunidade lá no telegram lá eu envie um cats artigos vídeos e muito mais aí eu vou deixar o link aqui no meu treinamento de aplicações service na WS aqui na descrição você poder dar uma olhada esse treinamento eu criei em 2020 e você já imagina a quantidade de coisas que mudaram desde então então agora eu tô na fase de refatoração eu tô regravando as aulas que não ficaram tão boas removendo códigos que funcionam apenas em algumas versões anteriores do node.