O que acontece no servidor quando um arquivo multimídia é baixado/reproduzido?

O que acontece no servidor quando um arquivo multimídia é baixado/reproduzido?

Eu tenho um site baseado em vídeo. Fica lento quando cerca de 1 mil usuários simultâneos assistem/baixam um vídeo.

Estou tentando depurá-lo para ver qual recurso está fraco para aumentá-lo. Executei htopo comando para ver o uso de recursos, mas o servidor fica mais de 50% livre para CPU e RAM quando o carregamento da página é muito lento (nesse caso, uma página simples leva mais de 40 segundos para ser carregada)

É por isso que pensei que provavelmente fosse um problema de largura de banda. Agora tudo que estou tentando saber é o que acontece quando um arquivo de vídeo é transmitido/baixado por um cliente?

Observe que tenho tudo no mesmo servidor (backend/frontend/bancos de dados/arquivos de vídeo)

Responder1

Sua lógica está errada.

Se a CPU e a RAM ainda estiverem boas, existem DOIS possíveis problemas de limitação.

  • Largura de banda
  • OI

E ambos são totalmente triviais para verificar no lado do servidor. Faça isso.

Agora tudo que estou tentando saber é o que acontece quando um arquivo de vídeo é transmitido/baixado por um cliente?

Depende do que você entende por streaming, mas essencialmente ele captura dados da fonte e os encaminha para o destino. O que é essencialmente um problema de CPU, não usando muita CPU para iniciar. A menos que você tenha bastante armazenamento para cache (em RAM) configurado e, portanto, sendo usado - os dados vêm do armazenamento, seja lá o que você tiver. Geralmente a área que as pessoas ignoram e não se importam - e muitas vezes é o gargalo.

nesse caso, uma página simples leva mais de 40 segundos para ser carregada

O que indicaria que você atingiu um limite de rede BRUTAL ou um limite de IO. E considerando que você prefere não falar sobre IO, aposto que seu IO está sobrecarregado a níveis cômicos. A menos que você execute armazenamento SSD - geralmente em uma configuração RAID - seu orçamento de IO é comicamente baixo para uma rede de alta largura de banda - o suficiente para saturá-la com um fluxo, totalmente insuficiente em grande parte no momento em que suas cabeças de HDD precisam se mover.

informação relacionada