views:

52

answers:

3

I want to move all the website (developed in ASP.NET) images to another server. The image hosting server should be dedicated only image processing like image resizing and etc.

Which server is best suitable for this? Taking another IIS server would require more investment again. Instead can I go for Apache or Lighttpd?

Also the server should be capable to process / resize images even though there is heavy load. Please suggest which one could be better?

A: 

For Static File serving I found NGinx performance lot faster than Apache.

Also you can use a web proxy/cache like Squid or Varnish (which is what Facebook uses). Both will give excellent performance.

For Image resizing, I believe there are plugins in Nginx which will help you do such things. Not sure about Varnish.

MovieYoda
A: 

I agree with using nginx. You can use this trick with Perl and ImageMagick to get it to do the image resizing. On the other hand, you may want to just script the behavior you're looking for with something like ruby-vips. Vips claims to offer

an image processing system designed with efficiency in mind. It is good with large images (images larger than the amount of RAM in your machine), and for working with colour. It can perform many image manipulation tasks much faster than other packages such as ImageMagick and the GIMP and includes some special features such as creating single "mosaic" images from multiple parts

Dependening on your requirements, a streamlined custom daemon may offer more performance than an nginx+Perl+ImageMagick processing queue.

Joe
A: 

Another thought - comply to one of Yahoo's performance rules by hosting your images on a Content Delivery Network (CDN). This would physically put your images on several servers and your clients would each be served up the images on the closest server. Here is one such host, although I can't speak for its quality:

http://www.maxcdn.com/

I am not sure if there is a CDN host that supports executable code for image resizing. Although for best performance I would recommend keeping all your thumbnails as static images if possible, and making your resizing process something that happens externally to the web site.

NightOwl888