Executando verificação de segurança...
Em resposta a Quedas no Servidor
4

Olá,

Uma solução comum para isso é utilizar um servidor intermediário (reverse proxy) como o nginx para atuar como um "porteiro" ou "bouncer". Isso ajuda a controlar e limitar o número de solicitações que são enviadas para a sua aplicação php, evitando que ela seja sobrecarregada.

O conceito por trás disso é conhecido como "limiting" ou "throttling". O objetivo é limitar o número de requisições que chegam a sua aplicação backend em um determinado período, de forma a garantir que ela possa processá-las de maneira eficiente. A solução é justamente o oposto do que "aumentar o número de threads do php", mas sim diminiuir o trabalho delas.

Como você tem 8 CPUs, uma configuração do nginx comum seria ter 4 a 8 "workers" para cada CPU. Assim, o nginx lidará com as requisições e só enviará para o PHP aquelas que ele pode realmente processar. Se houver mais requisições do que isso, o NGINX as limitará antes de encaminhar para o seu código PHP, que é muito mais "lento" na execução do que o nginx.

Depois de definir esse número inicial, é essencial monitorar o servidor em condições reais de carga. O número de workers que você deve configurar depende de vários fatores, como o Webview lida com requisões concorrentes? Sua aplicação é I/O ou CPU bound?

Além disso é crucial entender onde exatamente sua aplicação está falhando ou sendo sobrecarregada. Para isso, a técnica de "profiling" pode ser útil. Embora não esteja familiarizado com PHP, certamente existem ferramentas disponíveis que podem ajudá-lo a entender melhor os gargalos de desempenho. Com essas informações, você pode otimizar seu código conforme necessário.

Espero que estas orientações lhe ajudem!

Carregando publicação patrocinada...