Como um site como o rambler exibe conteúdo dinâmico tão rápido? ... Isso é puramente a capacidade do Nginx? Onde devo procurar para aprender sobre esses recursos?
Isso tem pouco ou nada a ver com o servidor web usado - o nginx, o IIS e o Apache são 'rápidos o suficiente' e geralmente fazem seu trabalho em milissegundos. O nginx é muito mais rápido que o Apache, mas isso significa apenas que o proprietário do site precisará de menos servidores para a parte de exibição na web - o nginx não transfere dados mais rapidamente para você.
A parte menos importante é a velocidade do servidor , ou seja, o tempo necessário para criar o HTML. A parte mais importante é o desempenho do 'frontend' , com o qual quero dizer o HTML, CSS, Javascript e Imagens, o número deles, o tamanho deles e a entrega adequada (compactação HTTP, armazenamento em cache) deles.
É claro que a velocidade do servidor ainda é importante, não estou dizendo que deva ser ignorada ou que não importa. Mas normalmente é a menor parte percebida da velocidade do usuário final - o trabalho do servidor geralmente é realizado em menos de 500 milissegundos, mas a página não está pronta antes de 3.000 a 5.000 milissegundos. A maior parte desse tempo vai para o download dos recursos de front-end (CSS, Javascript, Imagens).
Steve Souders fez o trabalho original enquanto estava no Yahoo, ele agora está trabalhando no Google. Seu primeiro livro "Sites de alto desempenho" é o melhor ponto de partida para aprender mais sobre como criar sites rápidos. O mesmo material que está em seu livro pode ser encontrado nesta conversa em vídeo e nestas regras de design . No entanto, acho que o livro é rápido de ler e muito mais fácil de entender.
Você pode executar os sites através do testador do WebPageTest.org - o que lhe dará uma boa idéia da parte frontend desses sites e por que eles são mais rápidos ou mais lentos.
Acredito que serverfault.com, se servido pelo Nginx, será muito mais rápido no IIS 7 (assumindo que o tempo de acesso ao banco de dados seja o mesmo nos dois casos). Esta é uma suposição justa?
Não, isso é um mal-entendido. :-)