Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Długi czas generowania strony ?
Forum PHP.pl > Forum > PHP > Frameworki
Szymciosek
Witam, rozpocząłem zabawę z Symfony2, bazuje na razie na filmikach z YT (http://www.youtube.com/user/ai4multimedia) i niby wszystko ładnie pięknie, ale martwi mnie ten czas generowania strony, jestem przy lekcji tworzenia widoków, zrobiłem wyświetlanie prostego napisu po wejściu w link i co mnie zdziwiło, czas wygenerowania strony zajął aż 650ms (to jest minimum), za pierwszym razem, gdy uruchomiłem w ogóle Symfony2 na localhoście, wygenerowania strony powitalnej (tej z quick tour, config, demo) zajęło mi ponad 11 000ms...

Czy to normalne ? Czy trzeba coś jeszcze zrobić o czym nie wspomniano w filmie ?

Nikt nie jest w stanie odpowiedzieć ? Tak mi tu polecano Symfony2 i co ? Mówiono, że nawet do małych stron się nadaje, ale czy aby na pewno ? Skoro mała strona to kilka grafik, trochę tekstu, trochę html/php itd, 5 różnych podstron i to ma mi się ładować tak długo ?
greycoffey
Tylko pierwsze uruchomienia strony tak mają, czy wszystkie?
rafio
Cytat(Szymciosek @ 8.08.2012, 21:33:27 ) *
Nikt nie jest w stanie odpowiedzieć ? Tak mi tu polecano Symfony2 i co ? Mówiono, że nawet do małych stron się nadaje, ale czy aby na pewno ? Skoro mała strona to kilka grafik, trochę tekstu, trochę html/php itd, 5 różnych podstron i to ma mi się ładować tak długo ?


Pracujesz w devie (app_dev.php) a tutaj to normalne. Symfony2 ma wiele funkcjonalności (np. adnotacje, routing, dziedziczenie i rozszerzanie bundli, pliki językowe, enitytesy Doctrine, Twig, Service Container, do tego masa yml/xmli z konfigami) które wymagają cache aby działać wydajnie, tego cache nie ma w devie.


W produkcji to wszystko jest cachowane więc framework działa szybciej.
toffiak
Sądząc po czasie generowania stron to pracujesz na windowsie, na linuksie czas generowanie "Hello world" projektu na dwurdzeniowym procesorze to jakieś 50ms w trybie deweloperskim.

Aktualnie mój gotowy projekt w tym trybie generuje się 600ms, w trybie produkcyjnym 30ms, na współdzielonym hostingu, bez Varnisha oczywiście, 120ms.

Ważny jest system oraz akcelerator php praktycznie bez niego nie można pracować na symfony, sama dokumentacja mówi o tym że jest zalecany ale w praktyce jest on wymagany.
Szymciosek
Możecie mi podać jakieś materiały do nauki ?
Znalazłem coś na ens.ro ale przy próbie ściągania i instalacja git-ów miałem masę błędów w cmd między inny taki, że komenda git nie jest rozpoznawana, a w dodatku rozwaliło mi coś w projekcie i nawet na stronie startowej miałem błędy...

Z git już sobie poradziłem smile.gif
greycoffey
Dokumentacja Symfony2, dokumentacja Doctrine2, dokumentacja Twig, forum.php.pl, stackoverflow.com, google "symfony2", analiza kodu źródłowego. Ja od kilku tygodni tak się uczę.
Szymciosek
Ale chyba pomocna będzie książka ? Korzystałem z Vademecum php wydanie 4, z którym fajnie mi poszło jeśli chodzi o początki php, to chyba książka, którą chcę kupić do symfony2 też pomoże mi wystartować od podstaw z FW. Książka już zamówiona i teraz czekać na wydanie i dostawę do mnie.
rafio
Spokojnie sieć do nauki wystarczy - pod warunkiem że znamy język angielski oczywiście.
greycoffey
Opanowanie podstaw (tzn. pewnych schematów) zajęło 3 dni w moim przypadku, korzystając z sieci.
Szymciosek
Cytat(toffiak @ 9.08.2012, 07:35:05 ) *
Sądząc po czasie generowania stron to pracujesz na windowsie, na linuksie czas generowanie "Hello world" projektu na dwurdzeniowym procesorze to jakieś 50ms w trybie deweloperskim.

Aktualnie mój gotowy projekt w tym trybie generuje się 600ms, w trybie produkcyjnym 30ms, na współdzielonym hostingu, bez Varnisha oczywiście, 120ms.

Ważny jest system oraz akcelerator php praktycznie bez niego nie można pracować na symfony, sama dokumentacja mówi o tym że jest zalecany ale w praktyce jest on wymagany.


Jak sprawdzasz czas generowania strony w app.php ? W przypadku app_dev.php jest ten pasek na dole i widzę ile ms, a czy da się go włączyć dla app.php czy skorzystać z microtime() i liczyć ?
toffiak
Dla app.php czas generowania sprawdzam w najbardziej prosty sposób: za pomocą firebuga, wiem że nie jest to najlepszy sposób na badanie czasu generowania strony, ale pozwala mi na sprawdzenie wydajności całej strony: wielkość strony, czy wszystko style/js/obrazki są poprawnie keszowane itd.

Dla sprawdzenia wydajności strony używam głównie Apache benchmarka i czasem jmetera.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.