Estou tentando determinar um gargalo do servidor MySQL/Web.
Eu tenho três servidores. Um servidor Web rodando Nginx, um servidor MySQL remoto com meu banco de dados Wordpress e outro servidor MySQL remoto armazenando nossos dados.
O gargalo que estou tentando encontrar é entre meu segundo servidor MySQL que armazena nossos dados e meu servidor Web. Temos uma página que contém três DataTables (três consultas separadas). Está carregando muito lentamente, se é que faz tudo. Ocasionalmente, recebo um erro de tempo limite do gateway.
Não acho que as consultas em si sejam o problema. No DataGrip, todos os três têm média entre 200-500ms. Atualmente as consultas não estão indexadas porque me disseram que o plugin não pode tirar proveito dos índices, mas posso tentar de qualquer maneira.
Hardware e configuração:
Meu servidor MySQL é um AWS R6G.Large, 2 núcleos e 16 GB de RAM, SSD de 150 IOPS e taxa de transferência de 128 MB. innodb_page_size é 32, buffer_pool_size é 11000M, innodb_buffer_pool_instances é 10 e innodb_log_file_size é 1G O servidor Web é um AWS C6G.Xlarge, 4 núcleos e 8 GB de RAM, SSD de 150 IOPS e taxa de transferência de 128 MB. Usa FPM e Opcache.
Tentei monitorar usando TOP em ambos os servidores, mas, para ser sincero, não tenho certeza se tenho conhecimento para utilizar as informações de maneira adequada.
Eu realmente gostaria de determinar se é hardware ou software, de alguma forma, e se for hardware, existe uma maneira de isolar? Não tenho nenhum problema em aumentar o hardware se esse for realmente o problema.
Não tenho certeza se isso é permitido no Stack/ServerFault, mas acho que seria mais fácil saber o que está acontecendo se eu gravar minha tela com o TOP rodando nos dois servidores. Adicionei um vídeo ao meu Google Drive público. O vídeo mostra meu servidor MySQL (na parte superior) e meu servidor Web (Nginx, na parte inferior). O que fiz foi carregar a página (marca de 3 segundos no vídeo) e registrar o resultado. O vídeo tem 1:05, que é quanto tempo demorou para a última mesa aparecer. O vídeo foi gravado enquanto meu site estava em manutenção, então nenhum outro IP/tráfego conseguiu chegar a nenhum dos servidores.
Link do meu Google Drive:
https://drive.google.com/drive/folders/1NtdE1Z4875i1Xx2Wy2EXGgknt9yuY1IN?usp=sharing
Espero que alguém possa ajudar.
Aimee