• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Długi czas odpowiedzi - Symfony 4

VPS Starter Arubacloud
0 głosów
461 wizyt
pytanie zadane 28 marca 2018 w PHP przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)

Witam,

mam problem, otóż mam bardzo długi czas odpowiedzi frameworka. Otóż, gdy przeładowuje strone, to aplikacja nawet odpowiada w czasie nawet ok. 30 sek lub czasem w ogóle wywala wyjątek, że przekroczył sie czas odpowiedzi, czyściłem już cache frameworka ale nic to nie pomogło.

Dodam, że używam Symfony 4.0.6. Mój system operacyjny Windows 10 Pro.

Poniżej dodaje screena do stosu odpowiedzi.

Screen

Firewall Listener odpowiada bardzo długo, już próbowałem zmieniać algorytm szyfrujący w pliku security.yaml, lecz to nie dało żadnego skutku.

 

 

komentarz 28 marca 2018 przez Mariusz08 Maniak (62,300 p.)
Wcześniej chodziło normalnie?
komentarz 28 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
No właśnie, nie za bardzo, tzn.: chodziło bardzo powolnie ale nie było problemu z wywalaniem wyjątku o przekroczeniu limitu czasu odpowiedzi.
komentarz 28 marca 2018 przez Mariusz08 Maniak (62,300 p.)
Serwis działa na xamppie czy cli?

 

Ekhem... linux ;)
komentarz 28 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Uruchamiany z cli, poprzez komende: php bin/console server:run, jak to jest opisane w dokumentacji.
komentarz 28 marca 2018 przez Mariusz08 Maniak (62,300 p.)

Gdzieś słyszałem o takim sposobie:

php -S IP:8000 public/index.php

Może pomoże :)

komentarz 28 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Niestety, jeżeli chodzi o szybkość działania wychodzi bardzo podobnie.
komentarz 28 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)

Dodaje log z CLI:
 

[Wed Mar 28 14:15:55 2018] PHP Fatal error:  Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\s
ymfony\my-project\vendor\symfony\dependency-injection\Dumper\PhpDumper.php on line 1360
[Wed Mar 28 14:15:55 2018] PHP Stack trace:
[Wed Mar 28 14:15:55 2018] PHP   1. {main}() C:\xam[Wed Mar 28 14:15:55 2018] PHP   2. App\Kernel->handle() C:\
xampp\htdocs\symfony\my-project\public\index.php:37
[Wed Mar 28 14:15:55 2018] PHP   3. App\Kernel->boot() C:\xampp\htdocs\symfony\my-project\vendor\symfony\http-k
ernel\Kernel.php:185
[Wed Mar 28 14:15:55 2018] PHP   4. App\Kernel->initializeContainer() C:\xampp\htdocs\symfony\my-project\vendor
\symfony\http-kernel\Kernel.php:125
[Wed Mar 28 14:15:55 2018] PHP   5. App\Kernel->dumpContainer() C:\xampp\htdocs\symfony\my-project\vendor\symfo
ny\http-kernel\Kernel.php:535
[Wed Mar 28 14:15:55 2018] PHP   6. Symfony\Component\DependencyInjection\Dumper\PhpDumper->dump() C:\xampp\htd
ocs\symfony\my-project\vendor\symfony\http-kernel\Kernel.php:696
[Wed Mar 28 14:15:55 2018] PHP   7. Symfony\Component\DependencyInjection\Dumper\PhpDumper->startClass() C:\xam
pp\htdocs\symfony\my-project\vendor\symfony\dependency-injection\Dumper\PhpDumper.php:179
[Wed Mar 28 14:15:55 2018] PHP   8. Symfony\Component\DependencyInjection\Dumper\PhpDumper->addInlineRequires()
 C:\xampp\htdocs\symfony\my-project\vendor\symfony\dependency-injection\Dumper\PhpDumper.php:938
[Wed Mar 28 14:15:55 2018] PHP   9. Symfony\Component\DependencyInjection\Dumper\PhpDumper->getDef[Wed Mar 28 1
4:15:55 2018] PHP  10. Symfony\Component\DependencyInjection\Dumper\PhpDumper->getDefinitionsFromArguments() C:
\xampp\htdocs\symfony\my-project\vendor\symfony\dependency-injection\Dumper\PhpDumper.php:1370
[Wed Mar 28 14:15:55 2018] PHP  11. Symfony\Component\DependencyInjection\Dumper\PhpDumper->getDefinitionsFromA
rguments() C:\xampp\htdocs\symfony\my-project\vendor\symfony\dependency-injection\Dumper\PhpDumper.php:1360

 

4 odpowiedzi

+1 głos
odpowiedź 28 marca 2018 przez CenterPL Pasjonat (19,070 p.)
wybrane 29 marca 2018 przez Paweł Antyporowicz
 
Najlepsza
Masz włączonego XDebug'a w php? Ogólnie podejrzewam, że chodzi o konfigurację PHP, też to miałem, ale nie pamiętam za nic jak to naprawiłem, bo wyłączenie xdebuga to jeszcze mało było.
komentarz 28 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Tak, używam XDebug-a, wyłączę go i sprawdzę czy wszystko śmiga.
komentarz 29 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Usuniecie XDebug'a pomogło :)
komentarz 29 marca 2018 przez CenterPL Pasjonat (19,070 p.)
Cieszę się, że pomogłem ;)
0 głosów
odpowiedź 28 marca 2018 przez UltraSF Stary wyjadacz (11,740 p.)
Ciekawe, może to efekt nie efektywnego łączenia z bazą. Nawet najszybszy język udławi się złymi zapytaniami.
komentarz 28 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Główna strona nawet nic nie wyświetla z bazy danych, tylko zwraca widok html-a. W PhpStromie mam połączoną baze danych i tak wszystko śmiga jak ta lala.
komentarz 28 marca 2018 przez UltraSF Stary wyjadacz (11,740 p.)
Wow A to ciekawe. Pokaż ten controller który który wyświetla stronę główną.
komentarz 29 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
class HomeController extends Controller
{
	/**
	 * @return Response
	 */
    public function index( ): Response
    {
    	try {
		    return $this->render('home/index.html.twig');

	    } catch (\Exception $e) {
    		return $this->render('exception/error.html.twig', [
    			'error' => $e
		    ]);
	    }
    }
}

Routing deklaruje w pliku yml. A tutaj najprostsze zwrócenie widoku.

XDebug powodował takie spowolnienia. Po wywaleniu wywaleniu jego, wszystko wróciło do normy.

komentarz 29 marca 2018 przez UltraSF Stary wyjadacz (11,740 p.)
To dobrze :) Ale po co ten try?
komentarz 29 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
A dlaczego nie?  Lepiej obsłużyć niespodziewany wyjątek niż tego nie zrobić i wyświetlić użytkownikowi ładny komunikat.
komentarz 29 marca 2018 przez UltraSF Stary wyjadacz (11,740 p.)
I w każdym kontrolerze taki try dajesz? Nie lepiej tak?

https://symfony.com/doc/current/controller/error_pages.html
komentarz 29 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Akurat jeszcze w tym momencie przekazuje sobie obiekt z wyjątkiem i dump'uje go w widoku, żeby wiedzieć gdzie leży problem.

Ale dzięki za wysłanie linka do dokumentacji, na pewno z tego skorzystam, ponieważ dopiero zacząłem zgłębiać całe Symfony a wiadomo, jest to ogromna kobyła i jest tam co ogarniać.
komentarz 29 marca 2018 przez UltraSF Stary wyjadacz (11,740 p.)
E od wersji 4 to już nie kobyła, a niezwykle elastyczne rozwiązanie. Gdzie szybko można z niego zrobić kobyłem z twigiem i wszystkimi bajerami jak i lekkie restowe api. Symfony 3 i Laravel to są kobyły xd
komentarz 29 marca 2018 przez UltraSF Stary wyjadacz (11,740 p.)
Akurat jeszcze w tym momencie przekazuje sobie obiekt z wyjątkiem i dump'uje go w widoku, żeby wiedzieć gdzie leży problem.

Każdy kod jest zły, bo trzeba go utrzymywać. Jak tak bardzo chcesz tego try tam to poczytaj o eventKernel i ja bym się tam z tym wpiął :)
komentarz 29 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Wiadomo, że 4ka jest lżejsza od poprzednika. Co wcześniej wchodziło w standard frameworka to teraz trzeba doinstalować ale to dobrze, przynajmniej można sobie lepiej zarządzać potrzebnymi paczkami.

Co innego jest nam potrzebne do API a co innego do pełnej aplikacji. :)
Pozdrawiam.
0 głosów
odpowiedź 28 marca 2018 przez Bosswell Nałogowiec (36,470 p.)
edycja 28 marca 2018 przez Bosswell

A spróbuj

php bin/console debug:event-dispatcher

Tutaj znalazłem podobny problem. Niby 4 lata temu pytanie było zadane, ale może pomoże.

https://stackoverflow.com/questions/20099061/symfony-on-xampp-is-very-slow-in-development-what-can-i-do

komentarz 28 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Skorzystałem z tej komendy, debugowanie nic podejrzanego nie wskazało.

Czytałem ten wątek już wcześniej. Nic nie pomogło, co było opisane w tamtym wątku. Tam, ktoś używa xampp'a, ja używam serwera wbudowanego w symfony.
0 głosów
odpowiedź 28 marca 2018 przez Ehlert Ekspert (212,630 p.)

Szczerze mówiąc dziwne zachowanie nawet jak na wbudowany serwer z cli. Można byłoby podłączyć newrelica/blackfire i sprawdzić co w trawie piszczy, ale moim zdaniem szkoda na to prądu. Także polecam:

  1. Dev na linuxie: postaw maszynę na zwykłym VirtualBoxie, nawet bez środowiska graficznego. Vagranta niestety sobie daruj ze względu na problemy z nim na Windowsie.
  2. Korzystaj z MAMPa, jeśli jesteś mocno przywiązany do Windowsa. 
komentarz 28 marca 2018 przez Paweł Antyporowicz Stary wyjadacz (11,470 p.)
Dla mnie to nie problem postawić maszynę wirtualną z linuxem. Akurat do wrtualizacji używam hyper-v. Spróbuję wrzucic pliki na linuxa i zobaczymy jak będzie działać

Podobne pytania

–1 głos
1 odpowiedź 169 wizyt
pytanie zadane 10 stycznia 2020 w PHP przez niezalogowany
0 głosów
1 odpowiedź 250 wizyt
pytanie zadane 21 maja 2019 w PHP przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
1 odpowiedź 266 wizyt
pytanie zadane 19 stycznia 2019 w PHP przez niezalogowany

92,453 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...