{"id":111,"date":"2026-09-19T09:00:00","date_gmt":"2026-09-19T12:00:00","guid":{"rendered":"https:\/\/dcoder.io\/blog\/site-cinco-vezes-mais-rapido-sem-trocar-de-servidor\/"},"modified":"2026-09-20T20:44:20","modified_gmt":"2026-09-20T23:44:20","slug":"site-cinco-vezes-mais-rapido-sem-trocar-de-servidor","status":"publish","type":"post","link":"https:\/\/dcoder.io\/blog\/site-cinco-vezes-mais-rapido-sem-trocar-de-servidor\/","title":{"rendered":"O site do cliente ficou cinco vezes mais r\u00e1pido, e n\u00e3o custou nada"},"content":{"rendered":"<p>Um cliente com dois sites reclamou de lentid\u00e3o. A suspeita natural \u00e9 servidor pequeno, e essa conversa costuma terminar num plano mais caro.<\/p>\n<p>N\u00e3o era isso. Eram duas chaves desligadas, em servi\u00e7os que ele j\u00e1 pagava.<\/p>\n<h2>O que estava acontecendo<\/h2>\n<p>No primeiro site, o DNS j\u00e1 estava na Cloudflare, mas o proxy estava desligado nos registros. O nome resolvia pela Cloudflare e o visitante seguia direto para o servidor de origem. Toda a rede que o cliente j\u00e1 tinha contratado estava ali parada, sem passar tr\u00e1fego nenhum.<\/p>\n<p>No segundo, a CDN da hospedagem aparecia no painel e nunca tinha sido ativada.<\/p>\n<h2>Os n\u00fameros, antes e depois<\/h2>\n<p>Medi com <code>curl<\/code>, a partir do Brasil. Foram cinco execu\u00e7\u00f5es no dia 17 e dez no dia 18, depois da mudan\u00e7a.<\/p>\n<table>\n<tr>\n<th>Tempo at\u00e9 o primeiro byte<\/th>\n<th>Antes<\/th>\n<th>Depois<\/th>\n<\/tr>\n<tr>\n<td>Mediana<\/td>\n<td>1,306 s<\/td>\n<td>0,256 s<\/td>\n<\/tr>\n<tr>\n<td>Pior caso<\/td>\n<td>14,738 s<\/td>\n<td>0,873 s<\/td>\n<\/tr>\n<tr>\n<td>Melhor caso<\/td>\n<td>0,606 s<\/td>\n<td>0,231 s<\/td>\n<\/tr>\n<\/table>\n<p>A mediana caiu <strong>5,1 vezes<\/strong>. O pior caso caiu <strong>17 vezes<\/strong>, e \u00e9 ele quem manda. Numa das cinco medi\u00e7\u00f5es do dia 17 o site n\u00e3o respondeu, e noutra o aperto de m\u00e3o TLS sozinho levou 8 segundos. Uma falha a cada cinco tentativas. Depois da mudan\u00e7a, nenhuma.<\/p>\n<p>Dos arquivos est\u00e1ticos testados, <strong>14 de 14<\/strong> passaram a sair do cache de borda. Antes eram zero.<\/p>\n<h2>O que n\u00e3o foi tocado<\/h2>\n<p>Ligar o proxy da Cloudflare mexe em registros de DNS, e \u00e9 ali que mora o e-mail. Os registros MX e os TXT de DKIM e DMARC ficaram como estavam. Esse \u00e9 o erro cl\u00e1ssico dessa mudan\u00e7a: o site fica r\u00e1pido na ter\u00e7a e o financeiro para de receber nota fiscal na quarta.<\/p>\n<h2>A parte desconfort\u00e1vel<\/h2>\n<p>Esse ganho n\u00e3o veio de engenharia. Veio de abrir dois pain\u00e9is. O cliente pagava pelos dois servi\u00e7os e recebia metade de um deles, e ningu\u00e9m tinha medido.<\/p>\n<p>\u00c9 por isso que eu me\u00e7o antes de propor qualquer coisa. Em boa parte dos casos de lentid\u00e3o, a primeira coisa que aparece n\u00e3o \u00e9 c\u00f3digo mal escrito nem servidor pequeno. \u00c9 configura\u00e7\u00e3o que algu\u00e9m deixou pela metade, e que fica invis\u00edvel at\u00e9 voc\u00ea cronometrar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Duas chaves desligadas em pain\u00e9is que o cliente j\u00e1 pagava. O tempo at\u00e9 o primeiro byte caiu de 1,3 s para 0,26 s, e o pior caso de 14,7 s para menos de um segundo.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-111","post","type-post","status-publish","format-standard","hentry","category-sem-categoria"],"_links":{"self":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts\/111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/comments?post=111"}],"version-history":[{"count":1,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts\/111\/revisions"}],"predecessor-version":[{"id":121,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts\/111\/revisions\/121"}],"wp:attachment":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/media?parent=111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/categories?post=111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/tags?post=111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}