Estou executando um aplicativo WEB (PHP + MariaDB) para minha empresa, desenvolvendo em meu laptop e executando a versão de produção em um servidor dedicado.
Recentemente, comecei a medir o desempenho e notei que meu laptop funciona melhor que o servidor. Por exemplo, uma das páginas é gerada em ~ 50ms no meu laptop contra ~ 130ms no servidor. Este tempo é medido no código PHP usando microtime (), portanto, os atrasos de solicitações de rede para o servidor são ignorados.
O problema é que o servidor deve funcionar melhor do que o meu laptop em todos os pontos. 130ms é bom para esta aplicação, daí a razão de eu nunca ter notado este fato. Mas, se possível, gostaria de entender o que causa isso.
Eu acho que o próximo passo seria medir o tempo em diferentes pontos do código, mas a diferença é tão importante (> x2.5) que não posso deixar de pensar que estou perdendo alguma coisa.
Aqui estão alguns detalhes.
CPU
RAM
SO
Ambos estão rodando o Debian 9, então eles estão rodando a mesma versão do Apache2, PHP, MariaDB ... e devem ser configurados mais ou menos da mesma maneira.
MariaDB
No servidor, ele está configurado para usar 24 GB de RAM para dividir o tamanho do pool do InnoDB em 12 instâncias (todas as tabelas estão usando o InnoDB). Atualmente, ele usa apenas 4,5 GB de RAM, portanto, os acessos ao disco não devem ser um problema.
O que mais?