Istnieje ogromna ilość danych badawczych dotyczących czasu od zapytania do renderowania i doświadczenia użytkownika. Polecam lekturę this useit.com article. Po tym wszystkim Google zintegrowanym prędkości stronę w wynikach dla jakiegoś powodu;)
The 3 limity odpowiedź czasie są samo dziś, gdy pisałem o nich w 1993 roku (na podstawie 40-letniego badania przez pionierów czynników człowiek):
- 0.1 sekundy daje poczucie chwilowej odpowiedzi - czyli wynik czuje się jak to było spowodowane użytkownikowi, a nie komputer.Ten poziom reaktywności jest niezbędne do wsparcia uczucie bezpośredniego manipulacji (bezpośrednia manipulacja jest jednym z kluczowych technik GUI do zaangażowania użytkownika wzrost i kontroli - się więcej o tym, zobacz nasze Zasady seminarium Interfejs Design) .
- 1 sekunda utrzymuje płynność myśli użytkownika. Użytkownicy mogą wykryć opóźnienie , a tym samym wiedzieć, że komputer jest generujący wynik, ale nadal czuje się pod kontrolą ogólnego doświadczenia i że przesuwa się swobodnie, zamiast czekać na komputerze . Ten stopień reakcji na odpowiedź jest potrzebny do dobrej nawigacji .
- 10 sekund zachowuje uwagę użytkownika. Od 1 do 10 sekund użytkownicy na pewno czują się pewnie na łasce komputera , ale mogą sobie z tym poradzić szybciej, ale . Po 10 sekundach, , zaczynają myśleć o innych rzeczach, , przez co trudniej jest odzyskać ich mózgi, gdy komputer wreszcie zareaguje.
10-sekundowe opóźnienie często powoduje, że użytkownicy opuszczają witrynę natychmiast. I , nawet jeśli pozostaną, trudniej będzie im zrozumieć, co się dzieje, , co zmniejsza prawdopodobieństwo, że osiągną one powodzenie w trudnych zadaniach.
Jako ogólną zasadę, należy zawsze dążyć do równowagi czasu i czasu optymalizacji. Nie spędzaj dni na optymalizacji piekła z jednej rutyny, gdy twoje obrazy nie są poprawnie skompresowane, lub twoje skrypty/css nie są połączone. Tak, szybszy jest lepszy, ale 90-procentowy wzrost w generowaniu strony poprzez ustawienie inteligentnej pamięci podręcznej bije 10-procentowy wzrost po tygodniu dostosowywania algorytmu.
Nie należy też zbytnio zaglądać w czasy pierwszego renderowania, gdy struktura musi załadować wszystko, ale użyć testów warunków skrajnych, buforowanych lub nie, do symulacji różnych sytuacji.
Teraz niektóre dane; niektóre z najnowszych serwisów, w których pracowałem, wykorzystywały DotNetNuke, ogromny open-source CMS, i Asp.Net MVC, gdzie jesteś bliżej metalu. Średni czas strony ze średnimi zapytaniami do bazy danych wynosił 600-700 milisekund dla DotNetNuke. Dla Asp.net MVC, to 70-100 milisekund ... Użytkownicy naprawdę lubią ten drugi :)
Co robi twoja aplikacja? – Gumbo
@Gumbo, wyświetla różne dane statystyczne – fantactuka
Oczywiście powinieneś spróbować zrobić to tak szybko, jak to możliwe, ale prędkość naprawdę zależy od tego, co robisz. Rozdziel także czas na części. Na przykład będzie czas na dostęp do bazy danych i czas renderowania strony. Który zabiera dużo czasu? Jeśli to renderowanie, prawdopodobnie używasz dużo javascript. Czy ten javascript może być podzielony na żądanie ajax, które ładuje się po załadowaniu strony do przeglądarki. Jeśli jest to baza danych upewnij się, że robisz wszystko, co musisz zrobić, aby zoptymalizować. Chętne ładowanie, odpowiednie indeksy itp. – sosborn