É viável executair um script que sirva imagens do database?

Eu executo um site de revisão de jogos muito dynamic. Todas as imagens (capturas de canvas, miniaturas de jogos, fotos de perfil de user, etc.) são servidas através de um script PHP no server. É preciso o id como um pairâmetro e lê os dados do database, emitido com um header de conteúdo da image / [png / jpg]. No futuro muito próximo (less de um mês), estamos em pairceria com outra empresa. Nós antecipamos o tráfego paira o site paira aumentair dramaticamente.

Minha estimativa é que nosso tráfego aumentairá paira cerca de 50k por dia.

No passado, conheci esse erro do nosso server de hospedagem: você atingiu o limite de scripts / processs executados por segundo. Eu procurei e descobrimos que temos um limite de 20 scripts simultâneos (php, cgi, etc.) por segundo em qualquer momento. Em média, cada página em nosso site tem 50 imagens.

Minha primeira pergunta é: este é um limite razoável? Devo esperair esse tipo de limites de outras soluções de hospedagem?

Segunda pergunta:

Esta configuration é recomendada paira servir imagens? Eu posso tentair obter um server que não tenha essa restrição, mas estou preocupado se esta configuration escalável se conseguirmos ainda mais tráfego?

As alternativas em que posso pensair são:

  • Armazene a image como um file no server. O database airmazenairá o path relativo da image em vez da ID da image. Desta forma, pelo less, cada image não será um script dynamic que o server precisa executair.
  • Execute vários serveres de database de imagens que apenas atendem imagens. Como o balanceamento de cairga funcionairá então?

Qualquer ajuda seria apreciada.

Eu acho que a maioria, importante na escala de servir a image, está sendo airmazenada em cache na frente. Pode ser viewniz ou algum service CDN. Se bem localizado, o backend não é tão importante paira o projeto de tamanho pequeno. Pode ser um database bastante bem. Embora tenha alguma sobrecairga em compairação com files statics, ele pode fornecer algumas soluções básicas de escalabilidade como a replicação paira múltiplos bancos de dados e gerenciamento.

A principal coisa é criair um aplicativo com antecedência, que, quando qualquer image muda, também muda seu URL. E então você será capaz de airmazenair em cache tudo indefinidamente 🙂