É difícil dizer qual é o problema exato sem fornecer algum tipo de exemplo de consulta, mas primeiro sugiro que um DBA revise suas consultas comuns para garantir que você não está perdendo nenhum índice. Disparar um monte de varreduras de tabela completas em um grande conjunto de dados pode causar problemas significativos de desempenho.
Minha segunda sugestão é revisar algum tipo de solução para armazenamento em cache. Especificamente, cache de página inteira. Algo como o Varnish permitirá que você armazene em cache toda a página renderizada para que você não precise executar consultas duplicadas e caras. link - lembre-se que isso é caso a caso, e você não deve esperar armazenar todas as páginas do seu site em cache por razões óbvias, a menos que haja não é conteúdo dinâmico.
Por fim, você pode considerar a configuração da replicação mestre / escravo. Isso permitirá que você crie n
de réplicas para lidar com a crescente carga de trabalho de leitura que está ocorrendo. Certifique-se de fazer pesquisas suficientes sobre como manter a replicação, pois isso provavelmente adicionará alguma sobrecarga às suas tarefas de administração do BD
Aumentar o tamanho da sua instância de banco de dados provará ter retornos decrescentes. Se houver um problema de desempenho do SQL, sugiro resolver isso primeiro.