If you don't have a dialup connection, you have to pay close attention to your page size. Images, advertisements, sloppy code, java, and flash can all be contributers to slow loading pages. If a 56k user has to wait more than 8 seconds for the page to come up there's a chance they'll get frustrated and just leave. Generally, you don't want your page more than 50 or 60K.
Try not to use graphical layouts. Use CSS as much as possible instead of bulky tables. If you have hundreds of pages then making small changes can save you a great deal of bandwidth. For example, you have your links on the left and content on the right with special properties on the table. With just normal html tables, each time someone loads a page they'll download that code. If you use css, you can use an external stylesheet that needs only to be downloaded once. Try to keep the external CSS files under 5k.
Try downloading irfanview, it's a free image editing program that lets you set the quality of .gifs and .jpegs. Never use BMP files or PNGs. They are usually much larger in file size. Experiment in the quality to see how much smaller you can make images without it being a noticable change.
Loading time is slowed down by how many objects the page has to load regardless of size. External files that are included like, .css files, .mid files, .swf files, images, and ads, since browsers can only download so many files at once. Try to keep the amount of objects requested at a minimum.
Websiteoptimization.com is probably the best with a free online scan. Alternatively you can go to a local library or borrow a friends connection. There's also a javascript at Q42 that you can put in your favorites and check a site's size by selecting it.