Estou executando um site pesado de atualização em tempo real. A quantidade de recursos necessários por usuário é bastante alta, e podemos dar um exemplo.
Setup
Toda visita
A aplicação é php / mysql assim em cada visita estática e conteúdo dinâmico é carregado.
Recursos: apache, php, mysql
Cada segundo (não mais do que um segundo será muito longo)
O site precisa ser atualizado em tempo real para que, a cada segundo, haja uma chamada ajax que atualize o site.
Recursos: jQuery, apache, php, mysql
Gastos médios para usuários únicos (gastando um minuto e visitando 3 páginas)
- Apache: +/- 63 solicitações / respostas que atendem conteúdo estático e dinâmico (img, css, js, html)
- php: +/- 63 solicitações / respostas
- mysql: +/- 63 pedidos / respostas
- jquery: +/- 60 solicitações / respostas
Optimization
Eu quero otimizar esse processo, mas acho que talvez seja o mesmo no final.
Antes de implementar e testar (o que levará semanas) eu queria ter algumas segundas opiniões de vocês.
Toda visita
Quero começar com o nginx na frente e trabalhar como proxy para fornecer o conteúdo estático.
Recursos:
- Dinâmico: apache, php, mysql
- Estático: nginx
Isso espalhará muito a carga no apache.
A cada segundo
Para o script que carrega a cada segundo, quero configurar o javascript do lado do servidor Node.js com nginx na frente.
Eu quero configurá-lo que jquery faz um pedido uns minutos, e node.js transmite os dados para o cliente a cada segundo.
Recources: jQuery, nginx, node.js, mysql
Gastos médios para usuários únicos (gastando um minuto e visitando 3 páginas)
- Nginx: 4 solicitações / respostas que atendem principalmente conetent estático (img, css, js)
- Apache: 3 solicita apenas as páginas
- php: 3 solicita apenas as páginas
- node.js: 1 solicitação / 60 respostas
- jquery: 1 pedido / 60 respostas
- mysql: 63 pedidos / respostas
Questions
Como você pode ver na otimização, a carga do Apache e do PHP são removidos e colocados em nginx e node.js. Estes são conhecidos por sua pegada leve e bom desempenho.
Mas estou tendo minhas dúvidas, pois ainda existem 2 programas extras carregados na memória e eles consomem cpu.
Portanto, é melhor ter menos programas que façam o trabalho ou mais. Antes de passar muito tempo fazendo isso, gostaria de saber se valerá a pena.