First of all, I totally agree with Ladadadada answer, that...
- Premature optimization is the root of all evil
- Simpler is usually better, mostly
You shouldn't optimize, because you could get more traffic. Optimize, when you need to optimize, i.e. when you experience traffic peaks right now OR when you definitley know, that there will be huge traffic peaks (e.g. out of marketing actions).
Most important: analyse your system! Do benchmarks before (and of course after) your optimizations. You must know, what exactly is your bottleneck and what to optimize.
And now, the Magento specific part... :)
Although if I stick to Ladadadada's opinion, that you shouldn't follow just a(nother) Cargo Cult I recommend to install Varnish.
Why? Because a standard Magento installation isn't really fast without optimization. Okay,.. it tend to be f**king slow.
What to do, to speed up Magento:
- Install APC cache
- Use Memcached as fast Magento backend
- Put your Magento cache files onto a RAM disk (tmpfs)
- Put Varnish in front of your webserver software (Apache or nginx, doesn't really matter as long as you use Varnish) to cache static content and complete pages (like the Fullpage Cache of Magento Enterprise)
In order to use Varnish in a efficient way, you have to adapt Magento, so that complete pages can be cached and dynamic parts (e.g. cart widget) will be loaded additionally by the client's browser (using JavaScript).
There is also a module available for that: http://www.magentocommerce.com/magento-connect/pagecache-powered-by-varnish.html
However, I also recommend you to add at least 2 more servers to your system, if you planning to increase your traffic dramatically.
Using only one server is,... well - the perfect SPOF (Single Point of Failure) I can think of. :) Using multiple servers isn't only about loadbalancing and scaling. It's about high availlability. What happens if your single server cannot handle the traffic/load anymore? Yes, it will go down, your shop is offline and the vast amount of new customers won't be able to see your nice products- in fact they will see some ugly error meessages. So basically,... you will be pretty screwed.
Before optimizing your single server for the best performance, you really should plan and setup a failover strategy.
Maybe only two servers? Each of them with a webapp stack and a database? Or three servers,... two webapp nodes and a dedicated database server? Best would be 4,... two webapp nodes and 2 database nodes.
Doesn't matter how exactly it will look like,... but you have to eliminate your single point of failure.
Wish you all the best,... (traffic) growing pains are the best pains. ;)