Sorry I'm a newbie to this. I'm using a Linux server with Plesk. I just wanted to find out what is the best way to find out how much traffic there is to a website, when resources are running out, and when to get a new server after optimisation. This could be a broad question; I just wanted hints on where to look, and then I will take it from there.
I'd say start with
top. That's going to tell you how much load your CPU is getting and how much RAM you're using; those are your two real bounds for "resources running out." You can use Google Analytics or a similar service to tell you what time of day you're getting the most visits, and you can watch
top around then to get an idea of how your server is running at peak.
Tuning software configuration can get you some breathing room (this page has a good script for optimizing MySQL when it's time to do that) and judicious use of caching (e.g. memcached) can get you more if your traffic is really spiky, but if you're hitting resource bounds on a weekly basis it's time to buy up IMHO.
I suggest dstat to monitor performance. I frequently use 'dstat -af' to show all of the various resources on the computer (CPU, disk and network I/O, context switches, interrupts, ...) in a continuous flow, pointing out what resource is bottlenecking, and when.
top / htop are focused on processes, which are at best only meta-related to performance, and CPU, which is only one resource that you can peg (and probably the one least often a bottleneck).