Obecnie redaguję moją stronę za pomocą mojego własnego frameworka (jest to bardzo proste i robi dokładnie to, czego potrzebuję, nie potrzebuję czegoś takiego jak Zend lub Cake PHP). Zrobiłem dużo pracy, aby upewnić się, że wszystko jest poprawnie zapisane w pamięci podręcznej, buforując strony w plikach, aby uniknąć zapytań SQL i ogólnie ograniczyć liczbę zapytań sql.Pamięć php za dużo za dużo
Ogólnie wygląda na to, że jest bardzo szybki. Średni czas wykonania pierwszej strony (ponad 100 razy) wynosi 0,046152 mikrosekund.
Jedną z rzeczy, których nie jestem pewien, jest to, czy zrobiłem wystarczająco dużo, aby zmniejszyć zużycie pamięci php. Jedyny raz, gdy napotykam na problemy, to podczas przesyłania dużych plików.
Używając memory_get_peak_usage (TRUE), który, jak myślę, zwraca najwyższą ilość pamięci używanej podczas działania skryptu, średnia (przejęta ponad 100 razy) wynosi 157 2864 bajtów.
Czy to dobrze?
Zdaję sobie sprawę, że nie wiesz, co robię (jest to raczej proste, uzyskaj 10 najnowszych artykułów, liczbę komentarzy dla każdego, uzyskaj kontrolę użytkownika, popularne tagi na pasku bocznym itp.). Ale czy w ogóle martwiłbyś się scenariuszem wykorzystującym tego rodzaju pamięć, która uderzała 50 000 razy dziennie? Lub raz na sekundę w godzinach szczytu?
Zdaję sobie sprawę, że jest to bardzo otwarte pytanie. Mam nadzieję, że rozumiesz, że to trochę sztyletu w ciemności i naprawdę szukam tylko pewności, że nie umrze w strasznie upiorny dzień.
EDYCJA: Tylko mini eksperyment, który zrobiłem dla siebie. Pobrałem i zainstalowałem Wordpress oraz domyślną instalację bez dodatkowych dodatków, tylko jeden użytkownik i tylko jeden post i użyłem 10,5 megabajtów pamięci lub "11010048 bajtów". Zadowolony teraz z mojego 1.5mb.
Też pomyślałem sekundy. Zmierzam jednak czas za pomocą define ("START", microtime()) na początku i START - microtime() na końcu. Myślę, że piszę w myśleniu, że dałoby mi to trochę czasu w mikrosekundach, a nie w sekundach? – Rob
@Rob czy używasz parametru 'float'? –
php.net nie wydaje się określić, co jest domyślne. Ale nie, nie wysyłam żadnych argumentów do funkcji mikrotomowej. – Rob