{"id":409,"date":"2021-12-06T09:07:53","date_gmt":"2021-12-06T09:07:53","guid":{"rendered":"https:\/\/affiv.com\/?p=409"},"modified":"2021-12-23T04:22:05","modified_gmt":"2021-12-23T04:22:05","slug":"how-to-speed-up-time-to-first-byte-ttfb","status":"publish","type":"post","link":"https:\/\/affiv.com\/pt\/como-acelerar-o-tempo-para-o-primeiro-byte-ttfb\/","title":{"rendered":"Como acelerar o tempo para o primeiro byte (TTFB)"},"content":{"rendered":"<p>Aqueles que est\u00e3o preocupados com o desempenho do front-end da web encontrar\u00e3o o problema do longo tempo de espera do Time to First Byte (TTFB) ao otimizar o desempenho da web. Para sites WordPress que n\u00e3o s\u00e3o otimizados, o tempo TTFB muitas vezes excede o tempo de download do conte\u00fado da p\u00e1gina, trazendo tempo de espera desnecess\u00e1rio para os usu\u00e1rios. O principal motivo deste problema est\u00e1 no lado do servidor, pois quem n\u00e3o est\u00e1 familiarizado com o funcionamento e manuten\u00e7\u00e3o do servidor pode n\u00e3o saber por onde come\u00e7ar, hoje iremos analisar os v\u00e1rios aspectos das causas e solu\u00e7\u00f5es do TTFB.<\/p>\n\n\n\n<div class=\"wp-block-ht-block-toc is-style-outline htoc htoc--position-wide toc-list-style-plain\" data-htoc-state=\"expanded\"><span class=\"htoc__title\"><span class=\"ht_toc_title\">Tabela de Conte\u00fados<\/span><span class=\"htoc__toggle\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\"><g fill=\"#444\"><path d=\"M15 7H1c-.6 0-1 .4-1 1s.4 1 1 1h14c.6 0 1-.4 1-1s-.4-1-1-1z\"><\/path><path d=\"M15 1H1c-.6 0-1 .4-1 1s.4 1 1 1h14c.6 0 1-.4 1-1s-.4-1-1-1zM15 13H1c-.6 0-1 .4-1 1s.4 1 1 1h14c.6 0 1-.4 1-1s-.4-1-1-1z\"><\/path><\/g><\/svg><\/span><\/span><div class=\"htoc__itemswrap\"><ul class=\"ht_toc_list\"><li class=\"\"><a href=\"#what-is-time-to-first-byte-ttfb\">O que \u00e9 tempo para o primeiro byte (TTFB)<\/a><\/li><li class=\"\"><a href=\"#how-long-is-ttfb-time-considered-long\">Quanto tempo o tempo TTFB \u00e9 considerado longo?<\/a><\/li><li class=\"\"><a href=\"#static-webpage-waiting-time-ttfb\">Tempo de espera de p\u00e1gina da web est\u00e1tica (TTFB)<\/a><\/li><li class=\"\"><a href=\"#dynamic-webpage-waiting-time-ttfb\">Tempo de espera da p\u00e1gina da web din\u00e2mica (TTFB)<\/a><\/li><li class=\"\"><a href=\"#reasons-for-long-ttfb\">Raz\u00f5es para TTFB longo<\/a><\/li><li class=\"\"><a href=\"#the-solution-for-long-ttfb\">A solu\u00e7\u00e3o para TTFB longo<\/a><\/li><\/ul><\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-time-to-first-byte-ttfb\">O que \u00e9 tempo para o primeiro byte (TTFB)<\/h2>\n\n\n\n<p>TTFB significa Time to First Byte, que se refere ao momento em que o navegador come\u00e7a a receber os dados de resposta do servidor (tempo de processamento em segundo plano + tempo de redirecionamento) e \u00e9 um indicador importante da velocidade de resposta do servidor. Por exemplo, se voc\u00ea fizer uma pergunta a seu amigo, quanto menor o tempo que ele pensa, mais esperto ele \u00e9 ou mais familiarizado ele est\u00e1 com o seu problema. Para o servidor, quanto menor for o tempo TTFB, mais r\u00e1pida ser\u00e1 a resposta do servidor.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-long-is-ttfb-time-considered-long\">Quanto tempo o tempo TTFB \u00e9 considerado longo?<\/h2>\n\n\n\n<p>Como o hardware e o ambiente de rede de cada servidor s\u00e3o diferentes, o tempo TTFB de cada servidor tamb\u00e9m \u00e9 diferente. Se voc\u00ea quiser saber at\u00e9 que ponto seu servidor pode ser otimizado, voc\u00ea pode fazer upload de algumas p\u00e1ginas HTML est\u00e1ticas para o servidor e, em seguida, abrir essas p\u00e1ginas est\u00e1ticas para ver o tempo TTFB de algumas dessas p\u00e1ginas, a maioria dos servidores tem um tempo TTFB inferior a 50 ms, desta vez \u00e9 o momento em que podemos buscar a otimiza\u00e7\u00e3o. Os tempos TTFB nas duas figuras a seguir s\u00e3o os tempos de espera TTFB de p\u00e1ginas est\u00e1ticas e din\u00e2micas no servidor onde este site est\u00e1 hospedado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"static-webpage-waiting-time-ttfb\">Tempo de espera de p\u00e1gina da web est\u00e1tica (TTFB)<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"https:\/\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-static.png\" alt=\"Acelerar TTFB\" class=\"wp-image-410 lazyload\"\/><noscript><img decoding=\"async\" width=\"857\" height=\"336\" src=\"https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-static.png?resize=857%2C336&#038;ssl=1\" alt=\"Acelerar TTFB\" class=\"wp-image-410 lazyload\" srcset=\"https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-static.png?w=857&amp;ssl=1 857w, https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-static.png?resize=300%2C118&amp;ssl=1 300w, https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-static.png?resize=768%2C301&amp;ssl=1 768w, https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-static.png?resize=18%2C7&amp;ssl=1 18w\" sizes=\"(max-width: 857px) 100vw, 857px\" data-recalc-dims=\"1\" \/><\/noscript><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"dynamic-webpage-waiting-time-ttfb\">Tempo de espera da p\u00e1gina da web din\u00e2mica (TTFB)<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"https:\/\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-dynamic.png\" alt=\"Acelerar TTFB\" class=\"wp-image-411 lazyload\"\/><noscript><img decoding=\"async\" width=\"860\" height=\"336\" src=\"https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-dynamic.png?resize=860%2C336&#038;ssl=1\" alt=\"Acelerar TTFB\" class=\"wp-image-411 lazyload\" srcset=\"https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-dynamic.png?w=860&amp;ssl=1 860w, https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-dynamic.png?resize=300%2C117&amp;ssl=1 300w, https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-dynamic.png?resize=768%2C300&amp;ssl=1 768w, https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-dynamic.png?resize=18%2C7&amp;ssl=1 18w\" sizes=\"(max-width: 860px) 100vw, 860px\" data-recalc-dims=\"1\" \/><\/noscript><\/figure>\n\n\n\n<p>De acordo com nossos testes, se o tempo TTFB ultrapassar 500 ms, os usu\u00e1rios sentir\u00e3o uma espera significativa ao abrir a p\u00e1gina da web. Podemos considerar que 500 ms \u00e9 o benchmark.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"reasons-for-long-ttfb\">Raz\u00f5es para TTFB longo<\/h2>\n\n\n\n<p>Como sabemos, para p\u00e1ginas da web din\u00e2micas, quando o servidor recebe uma solicita\u00e7\u00e3o de um usu\u00e1rio para abrir uma p\u00e1gina, ele primeiro l\u00ea os dados necess\u00e1rios para a p\u00e1gina do banco de dados, em seguida, passa os dados para o modelo, que \u00e9 processado e retornado para o usu\u00e1rio. Uma vez que leva algum tempo para consultar os dados e renderizar o modelo, o navegador est\u00e1 consistentemente em um estado de espera para receber uma resposta do servidor at\u00e9 que esse processo seja conclu\u00eddo. Alguns servi\u00e7os t\u00eam desempenho inferior ou n\u00e3o est\u00e3o bem otimizados, e dessa vez ser\u00e1 mais longo.<\/p>\n\n\n\n<p>Claro, se a rede entre o servidor e o usu\u00e1rio n\u00e3o for boa (por exemplo, se o servidor estiver na Europa e o usu\u00e1rio estiver na \u00c1sia, quando o usu\u00e1rio abre a p\u00e1gina, a solicita\u00e7\u00e3o precisa percorrer milhares de quil\u00f4metros para chegar servidor), o servidor demora muito para receber a solicita\u00e7\u00e3o do usu\u00e1rio, o que tamb\u00e9m \u00e9 o motivo do longo tempo do TTFB.<\/p>\n\n\n\n<p>\u00c0s vezes, a p\u00e1gina salva muitos cookies no navegador do usu\u00e1rio, e cada vez que uma solicita\u00e7\u00e3o \u00e9 feita, esses cookies t\u00eam que ser enviados para o servidor, e o servidor tem que process\u00e1-los, o que tamb\u00e9m \u00e9 um dos motivos do longo TTFB Tempo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-solution-for-long-ttfb\">A solu\u00e7\u00e3o para TTFB longo<\/h2>\n\n\n\n<p>Depois de saber a causa, a solu\u00e7\u00e3o \u00e9 \u00f3bvia: reduzir o tempo de resposta do servidor. Quando uma p\u00e1gina da web \u00e9 carregada, \u00e9 equivalente a baixar a p\u00e1gina est\u00e1tica diretamente do servidor.<\/p>\n\n\n\n<p>Se a causa de tal problema for a rede, trocar um servidor \u00e9 uma solu\u00e7\u00e3o mais direta. Se, por algum motivo, voc\u00ea n\u00e3o puder alterar o servidor, poder\u00e1 usar um CDN para sincronizar as p\u00e1ginas para um n\u00f3 CDN mais pr\u00f3ximo do usu\u00e1rio, o que tamb\u00e9m \u00e9 uma boa solu\u00e7\u00e3o.<\/p>\n\n\n\n<p>Se a causa forem os cookies, voc\u00ea pode excluir alguns cookies desnecess\u00e1rios modificando o aplicativo ou simplificar o conte\u00fado dos cookies, encurtar o per\u00edodo de validade dos cookies, etc.<\/p>","protected":false},"excerpt":{"rendered":"<p>Aqueles que est\u00e3o preocupados com o desempenho do front-end da Web encontrar\u00e3o o problema do longo tempo de espera do Time to First Byte (TTFB) ao otimizar o desempenho da Web. Para sites WordPress que n\u00e3o s\u00e3o otimizados, o tempo de TTFB muitas vezes excede o tempo de download do conte\u00fado da p\u00e1gina, trazendo um tempo de espera desnecess\u00e1rio para os usu\u00e1rios<\/p>","protected":false},"author":1,"featured_media":411,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[112],"tags":[137],"class_list":["post-409","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website","tag-ttfb"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/affiv.com\/wp-content\/uploads\/2021\/12\/ttfb-dynamic.png?fit=860%2C336&ssl=1","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/posts\/409","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/comments?post=409"}],"version-history":[{"count":2,"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/posts\/409\/revisions"}],"predecessor-version":[{"id":498,"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/posts\/409\/revisions\/498"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/media\/411"}],"wp:attachment":[{"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/media?parent=409"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/categories?post=409"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affiv.com\/pt\/wp-json\/wp\/v2\/tags?post=409"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}