you need to run 'top -c' on server to see what process occupies the most cpu cycle. For magento, it usually should be php and/or db. you need opcode cache to offload php and improve first byte time. varnish is for content/static cache, which will not help much here.
for gzip compression, pls provide specific example showing the problem.