Fica difícil dá uma resposta precisa sem mais detalhes. É como você chegar no médico e dizer que está com febre, sem dizer quando começou, se vem e volta, variação de graus, se é a primeira vez, etc..
1) Você provavelmente vai ser a pessoa mais indicada para dá essa resposta quando observar como sua aplicação escala. Alguém poderia dizer para você dobrar esse número, mas o que você aprenderia sobre a sua aplicação?
2) Estás usando alguma ferramenta de monitoramento real time, como NewRelic, ou AppDynamics? Caso não esteja, seria bom começar a utilizar e vê o quanto elas vão te ajudar a identificar gargalos em produção.
Cache não é a solução para todos os problemas, ele pode inclusive está escondendo a origem desse timeout. Imagine o seguinte cenário: um usuário está acostumado com respostas rápidas, então o cache expira e as respostas começam a ficar mais lentas que o normal, usuário começa a pressionar f5, multiple isso pelo total de usuários e esse é o tamanho do seu problema.
O que seus testes de desempenho estão lhe dizendo? Se não tiver nenhum, tá na hora de começar com um teste de carga, pico, estresse, soak... Pelo menos para as principais transações. Se a sua API for HTTP, em pouquíssimo tempo você monta isso com o JMeter.
Fiz 50 requisições simultâneas para aquela link que você mandou e tive um tempo de resposta médio de 1.4s, quando aumentei para 100 requisições simultâneas, esse tempo pulou para 3.1s. O que isso quer dizer? Não muita coisa. Não tem jeito, você tem que investigar e trazer os sintomas.
Podes dobrar o poder de processamento e ainda ter o mesmo problema, se for algum tipo de contenção, até porque, todos os computadores esperaram na mesma velocidade.