Small high performance web server dillema

Topics: faq
May 24, 2012 at 11:12 AM
Edited May 24, 2012 at 11:48 AM

Best regards,

First of all, really interesting project, especially the new high performance framework you are designing.

I have big dillema regarding what approach to use for my project. I'm building small web server, which doesn't host pages, but does lots of proccessing, it must proccess request from 5-15 users at once, load images from gallery (on file system), proccess images (let say, applies some filter on them, like sharpening - all in C#) and serve images to user.

Use case is simple. User logs to system, chooses album from gallery to download (example: graduation party 2012, 100 images, 100-800kB per image) and apply sharpen filter on all images. Web server then starts loading image by image, applies filter on every image and serves them.

- user ask web server how many images are in gallery album
- 1 ajax request which returns n image descriptions
- users makes n ajax requests, every ajax request returns image
- server recieves request for image, loads it from file system, applies filter (2 for loops)  and returns it to user
- user downloads image in ajax request and using FileSystemAPI downloads it

So, 5-15 users can do this at once. My dillema is should I use default .NET HttpListener, IIS or your new high performance .NET library?

Thank you

PS: Simmiliar discusion here: http://stackoverflow.com/questions/1271070/use-httplistener-for-a-production-caliber-web-server

Coordinator
May 24, 2012 at 11:17 AM

5-15 requests per second is not really high. The new framework handles about 250 requests per second. Both the new and the old libraries should in other words works.

It's the image processing that will be the bottleneck, not the web server.

May 24, 2012 at 11:53 AM

Tnx for fast reply.

So your new library should do the work. Is Griffin.Networking.Http stable for such use or should I wait for new release?