In che modo un sito come rambler offre contenuti dinamici così velocemente? ... Questa è puramente la capacità di Nginx? Dove dovrei cercare per conoscere tali capacità?
Ciò non ha praticamente nulla a che fare con il web server utilizzato: sia nginx, IIS che Apache sono "abbastanza veloci" e generalmente fanno il loro lavoro in millisecondi. nginx è molto più veloce di Apache, ma ciò significa semplicemente che il proprietario del sito avrà bisogno di meno server per la parte che serve il web - nginx non trasferisce i dati più velocemente a te.
La parte meno importante è la velocità lato server , ovvero il tempo impiegato per creare l'HTML. La parte più importante è la prestazione di "frontend" , con cui intendo HTML, CSS, Javascript e immagini, il numero di questi, le dimensioni di questi e la corretta consegna (compressione HTTP, memorizzazione nella cache) di questi.
Naturalmente la velocità sul lato server è ancora importante, non sto dicendo che dovrebbe essere ignorato o che non importa. Ma in genere è la parte più piccola percepita della velocità dell'utente finale: il lavoro sul server viene spesso eseguito in meno di 500 millisecondi, ma la pagina non è pronta prima che siano trascorsi 3.000 - 5.000 millisecondi. La maggior parte di questo tempo va a scaricare le risorse del frontend (CSS, Javascript, Immagini).
Steve Souders ha svolto il lavoro originale mentre era in Yahoo, ora lavora in Google. Il suo primo libro "Siti Web ad alte prestazioni" è il miglior punto di partenza per saperne di più sulla creazione di siti Web veloci. Lo stesso materiale contenuto nel suo libro può essere trovato in questo video e in queste regole di progettazione . Tuttavia, trovo che il libro sia veloce da leggere e molto più facile da capire.
Puoi eseguire i siti attraverso il tester di WebPageTest.org, che ti darà una buona sensazione per la parte frontend di questi siti e perché sono più veloci o più lenti.
Credo che serverfault.com se servito da Nginx sarà molto più veloce di IIS 7 (supponendo che il tempo di accesso al db sia lo stesso in entrambi i casi). È un presupposto giusto?
No, questo è un malinteso. :-)