Nginx and Lighttpd are probably the two best-known asynchronous servers and Apache is undoubtedly the best known process-based server. […] The main advantage of the asynchronous approach is scalability. In a process-based server, each simultaneous connection requires a thread which incurs significant overhead. An asynchronous server, on the other hand, is event-driven and handles requests in a single (or at least, very few) threads. […] Pulling numbers from thin air for illustrative purposes, serving 10,000 simultaneous connections would probably only cause Nginx to use a few megabytes of RAM whereas Apache would probably consume hundreds of megabytes (if it could do it at all).
Lighttpd runs as a single process with a single thread and non-blocking I/O.
nginx works as one master process but delegates its work unto worker processes.
Nginx is noted to be a good server for sites that need fast, efficient reverse proxies or fast, efficient serving of static content.
Both servers performed extremely well, though it seems that Lighttpd might perform best in a more fragmented file system (smaller files). […] Considering that each would easily saturate the pipeline I doubt a real-world performance difference would be seen.