How does a site like rambler serve dynamic content so fast? ...
Is this purely Nginx’s capability? Where should I be looking into to learn about such capabilities?
Isso tem pouco ou nada a ver com o servidor da Web usado - tanto 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 serviço da 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 'frontend' , significando HTML, CSS, Javascript e Imagens, o número deles, o tamanho deles e a entrega adequada (compactação HTTP, armazenamento em cache ) destes.
É claro que a velocidade do servidor ainda é importante, não estou dizendo que ela deva ser ignorada ou que não importa. Mas normalmente é a menor parte percebida da velocidade do usuário final - o trabalho no servidor é feito frequentemente em menos de 500 milissegundos, mas a página não está pronta antes de 3.000 - 5.000 milissegundos terem passado. A maior parte desse tempo vai para o download dos recursos frontend (CSS, Javascript, Images).
Steve Souders fez o trabalho original, enquanto 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 fazer sites rápidos. O mesmo material que está em seu livro pode ser encontrado em conversa em vídeo , e estas 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 por meio do testador do WebPageTest.org - que lhe dará uma boa impressão da parte frontal desses sites e por que eles são mais rápidos ou mais lentos.
I believe that serverfault.com if served from Nginx will be much faster the IIS 7 (assuming db access time to be same in both the case). Is this a fair assumption?
Não, isso é um mal-entendido. : -)