Ir para conteúdo
  • Cadastre-se

Ganho de velocidade com cache do nginx


Jean Moura

Posts Recomendados

Olá Pessoal,

No servidor que hospedo os meus clientes eu aumentei o tempo do cache dos arquivos dinâmico do Engintron (Nginx) para 1 hora e coloquei o minimo de usuários = 1 ou seja, com apenas 1 exibição a pagina já entra em cache e fica até que seja atualizada novamente depois de 1 hora. E nas regras do Engintron (Nginx) eu já informei que alguns diretórios padrão de administração dos sites não devem entrar em cache como: (/wp-admin|/wp-login.php|/admin|/login|/administrator|/cliente|/administracao|/financeiro)

Alguém aqui também utiliza o cache dinâmico do Nginx com o tempo maior que o padrão de 1 segundo? e se utiliza, como você procede com os novos clientes? você pede ao novo cliente o link da administração do site dele para poder colocar nas regras para não entrar em cache? pois nem todos os sites hospedados vão ter aqueles mesmos diretórios padrão de administração do wordpress, prestashop etc.. que você já pode deixar adicionado nas regras.

 

O cache diminuiu em 50% o tempo para carregar as paginas dos meus clientes!

 

Abraço,

Jan

Link para o comentário
Compartilhar em outros sites

Não acha que está com muito tempo de cache? Na verdade o micro cache é só se houver algum tráfego intenso ex: em 1 seg entrar 1000 usuários de uma só vez, então ele irá servir esses 1000 com o cache sem causar sobrecarga é pra isso que serve. Tráfego normal durante essa 1 hora que você colocou vai ser prejudicado.

 www.HostSeries.com.br - Hospedagem de sites | Revenda de Hospedagem cPanel | VPS KVM SSD | Streaming | Performance Superior com discos SSD NVMe e Litespeed! Data center Tier 4 HIVELOCITY

Link para o comentário
Compartilhar em outros sites

Agora, Jorge Marcelino disse:

Não acha que está com muito tempo de cache? Na verdade o micro cache é só se houver algum tráfego intenso ex: em 1 seg entrar 1000 usuários de uma só vez, então ele irá servir esses 1000 com o cache sem causar sobrecarga é pra isso que serve. Tráfego normal durante essa 1 hora que você colocou vai ser prejudicado.

Olá Jorge,

Como vai?

O cache do Nginx vem com 1 segundo justamente para o conteúdo do site não ficar por muito tempo sem atualização, porem no caso de um site com milhares de visitas, aí sim 1 segundo funciona perfeitamente, pois o site terá centenas de requisições em apenas 1 segundo que serão entregues do cache. Mas para um servidor de hospedagem 1 segundo não irá melhorar o desempenho de todos os sites hospedados a menos que todos os sites hospedados tenham milhares de visitas por dia que resultará em centenas de requisições por segundo.

Digamos que você tem 300 sites hospedados em um servidor e todos os 300 sites tem uma media 5.000 mil visitas por dia, logo cada site terá uma media de 208,333 visitas por hora e 3,47 visitas por minuto e 0,0578 visitas por segundo. O que vai adiantar ter o cache de 1 segundo para os 300 sites, se cada site não terá nem uma visita/requisição por segundo? Assim todas as visitas dos 300 sites hospedados, terão as paginas processadas normalmente sem o cache.

Para o cache dar resultado com 1 segundo configurado, tem que ter sites com no minimo 1 milhão de visitas por dia, que dará  uma media de 11,57 visitas por segundos, onde as requisições destas 11,57 visitas serão retornadas do cache. Caso contrario, nenhuma requisição retornará as paginas do cache.

No cPnginx dos indianos vem configurado com 30 minutos!

Abraço

Jean

Link para o comentário
Compartilhar em outros sites

Olá @Jorge Marcelino

Depois de vários testes eu cheguei no melhor tempo de 10 min para o cache dinâmico e estático, pois mesmo um site com poucas visitas, se tiver apenas 5 visitas a cada 10 minutos, apenas 1 visita será processada fora do cache o restante será entregue do cache e será 500x mais rápido . E não entra em cache carrinho de compras, área de admin, cliente e qualquer outra pagina que é atualizada a todo momento como fóruns, comercio eletrônico dentre outras paginas.

E qualquer pagina que entra em cache e precisar ser atualizada pelo cliente em 10 minutinhos já estará atualizada no cache.

Abraço

 

 

 

Link para o comentário
Compartilhar em outros sites

@Jean Moura Estou testando aqui... Coloquei 6 minutos pra ver, você coloca o valor em segundos?

        set $CACHE_BYPASS_FOR_DYNAMIC 360;
        set $CACHE_BYPASS_FOR_STATIC 360;

 www.HostSeries.com.br - Hospedagem de sites | Revenda de Hospedagem cPanel | VPS KVM SSD | Streaming | Performance Superior com discos SSD NVMe e Litespeed! Data center Tier 4 HIVELOCITY

Link para o comentário
Compartilhar em outros sites

 

8 minutos atrás, Jorge Marcelino disse:

@Jean Moura Estou testando aqui... Coloquei 6 minutos pra ver, você coloca o valor em segundos?

        set $CACHE_BYPASS_FOR_DYNAMIC 360;
        set $CACHE_BYPASS_FOR_STATIC 360;

Essa linha que vc está alterando não deve ser alterada o valor, pois é a linha que vai dar um bay passe no cache nas paginas que vc não quer que entre em cache como no exemplo abaixo.

no meu exemplo abaixo não entra em cache esses diretórios já pre-definidos abaixo e nem as paginas dinâmicas geradas com (POST e nem string) ou seja, qualquer pagina que é gerada dessa forma não entra em cache, pois são paginas que mudam constantemente como paginas de fóruns, comercio eletrônico etc.. e não podem entrar em cache.

EX:

-----------------------------------------------

if ($SITE_URI ~* "/signup|/register|/logout|/user|/cadastro|/login|/carrinho|/cart|/pedido|/checkout|/cliente|/adm|/admin|/administracao|/administrator|/financeiro|/wp-admin|/wp-login.php|/minhaconta|/minha-conta|/conta|/myaccount|/my-account|/account") {
    set $CACHE_BYPASS_FOR_DYNAMIC 1; # Disables micro-caching
   set $CACHE_BYPASS_FOR_STATIC 1; # Disables static file caching
}

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
    set $CACHE_BYPASS_FOR_DYNAMIC 1; # Disables micro-caching
   set $CACHE_BYPASS_FOR_STATIC 1; # Disables static file caching
}   
if ($query_string != "") {
    set $CACHE_BYPASS_FOR_DYNAMIC 1; # Disables micro-caching
   set $CACHE_BYPASS_FOR_STATIC 1; # Disables static file caching
}

-----------------------------------------------

Você deve alterar o tempo do cache nas linhas das paginas dos menus abaixo?

proxy_cache_valid      200 10m;

proxy_cache_valid       200 301 302 10m;

 

Link para o comentário
Compartilhar em outros sites

@Jorge Marcelino

Na verdade eu não preciso nem dizer nas regras do Nginx as paginas pre-definidas que não devem entrar em cache EX: (/signup|/register|/logout|/user|/cadastro|/login|/carrinho|/cart|/pedido|/checkout|/cliente|/adm|/admin|/administracao|/administrator|/financeiro|/wp-admin|/wp-login.php|/minhaconta|/minha-conta|/conta|/myaccount|/my-account|/account)

Pois essas linhas abaixo já informa nas regras do Nginx que paginas geradas através de (POST e STRING) não devem entrar em cache, então qualquer pagina dinâmica que muda informações constantemente são geradas com (POST e STRING) como carrinho de compras, área admin, área cliente, algumas paginas do site de fórum, algumas paginas do site de comercio eletrônico, dentre outras paginas que mudam valores a todo momento, não vão entrar em cache e assim evitar problemas com os clientes que possuem algumas paginas em seus sites que não podem entrar em cache.

-----------------------------------------------

}

# POST requests and urls with a query string should always go to PHP
if ($request_method = POST) {
    set $CACHE_BYPASS_FOR_DYNAMIC 1; # Disables micro-caching
   set $CACHE_BYPASS_FOR_STATIC 1; # Disables static file caching
}   
if ($query_string != "") {
    set $CACHE_BYPASS_FOR_DYNAMIC 1; # Disables micro-caching
   set $CACHE_BYPASS_FOR_STATIC 1; # Disables static file caching
}

-----------------------------------------------

Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?