Good old intuition, follow your gut feeling and if it's too good to be true, it usually is ;o)
Watch for cheap hosts, they generally have hidden charges like repointing of domain names email accounts may be limited in number etc.
I have one that I use and consider to be good so far, so if you want the URl sticky me.
Look for hosts that charge ~ over $10/month for an average hosting package.
Get recommendations from real, live people you trust.
In my personal experience it's what you want, need, and will eventually want and need in the future that should determine who you host with.
To get an effective answer you need to state an effective question. What basic components do you wish to have working on your site? Do you know what languages you will need/want to use? Not all servers will support everything off the bat even when a host is dependable and reputable.
A good suggestion is to go with a company that will allow a 30 day full money back guarantee.
I suggest calling any hosts toll free tech support several times during the day to see how good they are at answering their phones. 24-7-365 phone-tech support is another must have and it's a good idea to see if you can land a reasonably short call at say 1 or 5am. Waiting over half an hour multiple times is a sign that the tech has the phone glued to his head or out to lunch!
Once you've decided on a hosting company, run a server monitor on your computer for the first while to see if their uptime is what they claim. There are simple little programs that check the header on a URL every so many minutes to see if it's live. (Sticky me, if you want, for info on a freeware version that works well for me).
Give it a month, and if you've have seen regular outages/downtime, try another company. It's no big deal moving a website.
I just wanted to thank everyone for their advice. I am so glad I found this forum!
Along the same lines, how does one test bandwidth/transfer? We're looking to host a forum site that regularly has 500+ users online and its looking like at peak times we could see 1000-2000+ extremely active users(like all of them posting and refreshing constantly for an afternoon, all at the same time).
The traffic has caused problems before. I can make a pretty good guess at the hardware needed to handle the site, but how do I make sure that the hosting company can handle that type of load? are there any tests one can run to stress test a site/server?
The problem you're describing isn't just a bandwidth issue. With heavy forum usage, you need to be sure that there are adequate database and server resources available.
A number of shared hosting companies run a load-balanced architecture wherein your forum would be served from a number of machines at once. I'd look into that in preference to a typical standalone server, and you should be able to find something at around the $10 pm price point mentioned above.
Another pointer I use is how quick is teh tech dept at getting back onceyouve a problem.
"1000-2000+ extremely active users(like all of them posting and refreshing constantly for an afternoon, all at the same time). "
Sorry to say, but this kind of traffic is going to need something a LOT more substantial than a shared server.
You're looking at (at least) a dedicated box with dual processor and 2GB Ram, and preferably fast SCSI disks in RAID.
Sorry ,I see that wasn't from the original poster. Ignore me - I haven't had my morning coffee yet...
We're currently on a dedicated server where I've turned off all non-essential processes. So yes, it'll be a dedicated box. And I'll be recommending all the horsepower we can get hardware-wise. Hardware's basically cheap and more is better, I'm OK there.
What I'm concerned about is that I believe on busy days the site can actually start to fill a 5-10mbit connection, sustained for the a good part of the day. I know everyone claims gigabit transfer all over the place and huge connections, but I'm looking to find a way to test this type of traffic on a data center. Hate to find out too late that the server's fine but the hosting company's firewall or router's can't keep up (I've seen this before).