I can understand what you're going through. Recently one of my websites has grown to the point where I too receive too an overwhelming number of requests for small (thumbnail) images. About 10-20 on a page for a single user.
I also used a single server to serve all the content, but have since switched to several atom servers running nginx which act as proxies and cache most of the images in cache. Once the total ram was consumed, things started loading off the disks. I have 5 atom servers each equipped with 2x 2TB HDs. Through some software load balancing, I assure myself that each disk pushes an even amount. My servers have a 1000mbps connection, so I try to make sure each disk pushes about 50mb/s max. Keep in mind this only occurs once all my RAM is exhausted.
Also, I'm not sure if this applies anymore, but I know lighttpd had memory leak issues, which over time would build up to consume most of your memory.
Finally, switching to a multiple atom solution, my costs have gone down and I have more control over the fail-over, which a single server could not have provided me. Also, if you wish for some sort of mirroring to keep your content redundant, then I suggest modifying your script/code that processes the images (thumbs) and distribute them in a way across your disks so you can easily copy over the lost images in the event of a disk failure.
This has worked well for me, and if you need more technical information, feel free to PM me.