I'm running GZip and it's important to say that my main purpose of the site is to serve images.
Isso aí pode ser o seu problema. O Gzip certamente ajudará com conteúdo pesado em texto, já que ele comprime facilmente, no entanto, as imagens já estão compactadas, e tentar comprimi-las ainda mais com o gzip é um exercício de futilidade. Desligue o gzip e veja se isso diminui a carga da sua CPU.
Se isso não acontecer, então o próximo passo é provavelmente que você deve dividir seu banco de dados para um segundo linode 512. Eu faria isso antes de redimensionar seu Linode atual. Quando você implantar a segunda máquina, verifique se ela está no mesmo datacenter, mas em um host diferente. Dessa forma, o Apache e o MySQL não competirão pelo disco IO. Além disso, tenha em mente que você deve usar a rede privada de back-end da Linode para comunicações entre os dois servidores.