Clicky

Hospedado por Limestone Networks

Jump to content
  • Sign Up

Sign in to follow this  
Jean Moura

Ganho de velocidade com cache do nginx

Recommended Posts

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

Share this post


Link to post
Share on other 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, Revendas, Streaming, VPS SSD e Gerenciamento avançado!

 Revenda de hospedagem SSD - 50% de desconto LiteSpeed, Proteção DDoS, Anti-SPAM - 100% Uptime ( cód: PDH )

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites

@Jean Moura Você está usando quantos segundos no micro cache atualmente?


 www.HostSeries.com.br - Hospedagem de sites, Revendas, Streaming, VPS SSD e Gerenciamento avançado!

 Revenda de hospedagem SSD - 50% de desconto LiteSpeed, Proteção DDoS, Anti-SPAM - 100% Uptime ( cód: PDH )

Share this post


Link to post
Share on other 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

 

 

 

Share this post


Link to post
Share on other 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, Revendas, Streaming, VPS SSD e Gerenciamento avançado!

 Revenda de hospedagem SSD - 50% de desconto LiteSpeed, Proteção DDoS, Anti-SPAM - 100% Uptime ( cód: PDH )

Share this post


Link to post
Share on other 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;

 

Share this post


Link to post
Share on other 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
}

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...