Często mam do czynienia z dość podobnym problemem. Jednak przyjmuję nieco inne podejście: Po pierwsze, dlaczego w ogóle mam dbać o zawartość statyczną? Mam na myśli, oczywiście, ważne dla użytkownika, jeśli zdjęcie zajmuje 2 minuty lub 2 sekundy, ale to nie jest mój problem PO W pełni rozwiniętej stronie. Te rzeczy są problemami podczas rozwijania i po wdrożeniu nie jest to statyczna zawartość, ale to dynamiczne rzeczy, które normalnie spowalniają rzeczy (jak powiedziałeś w poprzednim akapicie). Kolejną kwestią jest, dlaczego ufasz, że tak wiele rzeczy pozostaje niezmiennych? Jeśli ktoś w twojej sieci uruchomi program p2p, routing pójdzie nie tak lub twój ISP ma pewne problemy, twoje statystyki serwera z pewnością spadną. Co mówi Twój test porównawczy dla użytkownika mieszkającego na całym świecie lub używającego innego usługodawcy internetowego? Chodzi mi tylko o to, że porównujesz swój punkt widzenia, ale to nie mówi wiele o wydajności serwerów, prawda?
Dlaczego nie pozwolić stronie/serwerowi samodzielnie określić, ile czasu zajęło załadowanie? Oto mały przykład napisany w PHP:
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
function benchmark($finish)
{
if($finish == FALSE){ /* benchmark start*/
$GLOBALS["time_start"] = microtime_float();
}else{ /* benchmark end */
$time = microtime_float() - $GLOBALS["time_start"];
echo '<div id="performance"><p>'.$time.'</p></div>';
}
}
Dodaje na końcu strony czasu zajęło zbudowanie (ukryte z CSS). Co kilka minut przeglądam to za pomocą wyrażenia regularnego i analizuję je. Jeśli ten czas się podniesie, wiem, że coś jest nie tak (łącznie z treścią statyczną!) I przez kanał RSS otrzymuję informacje i mogę działać.
Z firebugiem znamy "normalną" wydajność strony ładującej całą zawartość (faza rozwoju). Dzięki benchmarkowi otrzymujemy aktualną sytuację serwera (nawet w naszym telefonie komórkowym). OK. Co następne? Musimy się upewnić, że wszyscy/większość odwiedzających uzyskuje dobre połączenie. Uważam, że ta część jest naprawdę trudna i jest otwarta na sugestie. Jednak próbuję pobrać pliki dziennika i wysłać polecenie ping na kilka adresów IP, aby sprawdzić, ile czasu zajmuje dotarcie do tej sieci. Dodatkowo zanim zdecyduję się na konkretnego dostawcę ISP, próbuję przeczytać o połączeniach i opiniach użytkowników ...
+1 - Jestem dziwnie komfortowo z tym pomysłem - lol –
Wielkie umysły myślą podobnie :) –
Ja też! Prawdopodobnie użyję tego w moim kodzie, myślę, że pomiar dodatkowej zawartości będzie bardzo trudny do wdrożenia z precyzją. – holiveira