I've seen it suggested more than once that hosting your images remotely on Amazon S3 will improve the load time of your pages. My question is, why is using a remote service faster than just keeping them in a local directory? Also, if anyone has used S3 before, I would appreciate any comments or suggestions on the service.
The only reason why that would be faster is that s3 is distributed across multiple locations around the world and it could serve the files from Ireland for europe, from US to us and so on. Another advantage would be that your apache doesn't need to create connections for the images leaving it resources to serve more users.
^^ SeerKan is correct. Also, a good portion of the reason pages load faster this way, is because browsers can "multi-task" object downloading when coming from a subdomain or different domain than the one serving the page itself. Most browsers limit concurrent HTTP connections per single server (or domain in this case), meaning that if you spread the images over another subdomain/domain or server then the browser can fetch these things all at once, rather than image by image. This speeds things up, especially if there are a lot of images. If you want to improve it even more, create a CSS image "sprite" which will put all the images in 1 file, meaning the browser will only need to download 1 image, instead of 100, and the reason this would be faster is because it avoids all the TCP/IP handshakes (TCP connection setup and teardown) of those extra 99 images, speeding things up.
We're using Amaon S3 to host our landing site with all images. It's not faster by itself, only when you're using it's CDN (called Amazon CloudFront). In this case, your files are served from the closest location to the end user. For CloudFront, Amazon has more than 20 locations around the world, so that's why it's fast.
I'm pretty much going to have to try this. I need to speed up my site a little and I'm running out of steps I can try. I wish they had more clear pricing on this service. When I went there I was presented with a ton of different options all depending on how many images and how much transfer. It is difficult for me to figure this up in order to know what this plan will cost me.
may be a lot of people just buy service blindly and then when the overages come, they think what the site might need . most of the cases sites dont need much power.
If they would have had 3-4 packages that were tiered in some way, I probably would have subscribed. But the page I landed on had dozens of options that were all based on number of images and amount of data transfer. Sure, I could take the time to dig into the logs to figure out that information, but it's just honestly too much effort and I have too much on my plate already to add on the additional task. Over-complicating their plans cost them a customer, in my case anyway.