Děsně pomalé Nette na EasyPHP

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
dreken
Člen | 36
+
+1
-

Ahoj,
Vyvíjím pod Windows a používám EasyPHP. Po posledním composer update se mi aktualizovalo Nette z 2.2.2 na 2.2.4. Netuším, jestli to je zrovna touto změnou, ale od té doby zažívám peklo při načítání stránek. Někdy se načítají stránky běžně do půl sekundy, ale jindy trvá načtení stránky déle než 20 sekund (!). Projevuje se to náhodně, nevypozoroval jsem žádnou závislost na časové složitosti mého kódu.

Zajímavé je, že i když je execution time v laděnce třeba jen 200ms, tak na požadavek čekám 20 sekund. Musí to být něco v nastavení Windows/Apache/PHP, protože u kolegů ani na webhostingu se u stejného projektu taková prodlení vůbec neprojevují.

Projekty, kde mám starší Nette fungují bez problémů. Zkoušel jsem navýšit paměťové limity v php.ini, ale nemělo to na tento problém žádný efekt.

Díky za rady.

Editoval dreken (13. 11. 2014 19:27)

Pavel Macháň
Člen | 282
+
0
-

dreken napsal(a):

Ahoj,
Vyvíjím pod Windows a používám EasyPHP. Po posledním composer update se mi aktualizovalo Nette z 2.2.2 na 2.2.4. Netuším, jestli to je zrovna touto změnou, ale od té doby zažívám peklo při načítání stránek. Někdy se načítají stránky běžně do půl sekundy, ale jindy trvá načtení stránky déle než 20 sekund (!). Projevuje se to náhodně, nevypozoroval jsem žádnou závislost na časové složitosti mého kódu.

Zajímavé je, že i když je execution time v laděnce třeba jen 200ms, tak na požadavek čekám 20 sekund. Musí to být něco v nastavení Windows/Apache/PHP, protože u kolegů ani na webhostingu se u stejného projektu taková prodlení vůbec neprojevují.

Projekty, kde mám starší Nette fungují bez problémů. Zkoušel jsem navýšit paměťové limity v php.ini, ale nemělo to na tento problém žádný efekt.

Díky za rady.

Já měl zase problém s Nette 2.2.4, že zvedne execution time x2 a jako bonus 1/10 requestu mě killne Apache. (Win7). Musel sem se vrátit na 2.2.3. Bohužel zatím nebyl čas laborovat co to způsobuje :(

Editoval Pavel Macháň (13. 11. 2014 19:53)

dreken
Člen | 36
+
0
-

Tak aspoň, že v tom nejsem sám… To s tím „killováním“ apache jsem taky pozoroval a stává se mi to hodně často.

dreken
Člen | 36
+
0
-

Dal jsem na Tvou radu, přešel na Nette 2.2.3 a problémy zmizely. Zatím fíčurky nejnovějšího Nette oželím a snad se to do budoucna vyřeší. Díky.

David Matějka
Moderator | 6445
+
+2
-

vyresi se to pouze pokud nekdo, kdo ma problemy, najde pricinu.
Doslo k temto zmenam: application, bootstrap, caching, database, di, forms, http, mail, neon, security, utils, latte, tracy.

Tak zkuste odhalit ktery balicek a ktery commit za to muze

Ja bych to tipoval na tracy :)

Šaman
Člen | 2666
+
0
-

Jestli je to Tracy, tak by mělo stačit nastavit produkční režim a zmíněné problémy se zpomalením by měly zmizet. Mimochodem já měl taky až půlminutové výpisy chyb a běžný request 5–10 s, pomohlo jen zakázat Kdyby\Events ladicí panel. S tímhle to asi souvislost mít nebude, ale věřím, že Tracy dokáže podobné kousky, jestli si s něčím nerozumí.

Pavel Macháň
Člen | 282
+
0
-

Šaman napsal(a):

Jestli je to Tracy, tak by mělo stačit nastavit produkční režim a zmíněné problémy se zpomalením by měly zmizet. Mimochodem já měl taky až půlminutové výpisy chyb a běžný request 5–10 s, pomohlo jen zakázat Kdyby\Events ladicí panel. S tímhle to asi souvislost mít nebude, ale věřím, že Tracy dokáže podobné kousky, jestli si s něčím nerozumí.

@Šaman Pouze Tracy to nebude na 100% protože ji používám ručně linkovanou jako @dev jak pro 2.2.3 tak pro 2.2.4

Editoval Pavel Macháň (14. 11. 2014 0:07)

Tyraxor
Člen | 31
+
0
-

Zdravím, dělá mi to podobné problémy, něco v novém nette (2.2.4.) se nelíbí apachi, ja se v něm nikdy moc nehrabal, tak pokud někdo dokáže zjistit, co by mohlo způsobovat tyto hlášky v error logu apache, ať dá vědět

[Fri Nov 14 09:30:00.885961 2014] [access_compat:error] [pid 4360:tid 964] [client 127.0.0.1:49526] AH01797: client denied by server configuration: C:/EasyPHP/data/localweb/Nette-2.2.4/examples/Modules-Usage/app/, referer: http://127.0.0.1/Nette-2.2.4/examples/
[Fri Nov 14 09:30:00.885961 2014] [access_compat:error] [pid 4360:tid 964] [client 127.0.0.1:49526] AH01797: client denied by server configuration: C:/EasyPHP/data/localweb/Nette-2.2.4/examples/Modules-Usage/log/, referer: http://127.0.0.1/Nette-2.2.4/examples/
[Fri Nov 14 09:30:00.886963 2014] [access_compat:error] [pid 4360:tid 964] [client 127.0.0.1:49526] AH01797: client denied by server configuration: C:/EasyPHP/data/localweb/Nette-2.2.4/examples/Modules-Usage/temp/, referer: http://127.0.0.1/Nette-2.2.4/examples/
[Fri Nov 14 09:30:10.115251 2014] [mpm_winnt:notice] [pid 3492:tid 340] AH00428: Parent: child process 4360 exited with status 3221225477 -- Restarting.
[Fri Nov 14 09:30:10.171925 2014] [mpm_winnt:notice] [pid 3492:tid 340] AH00455: Apache/2.4.7 (Win32) PHP/5.5.8 configured -- resuming normal operations
[Fri Nov 14 09:30:10.171925 2014] [mpm_winnt:notice] [pid 3492:tid 340] AH00456: Apache Lounge VC11 Server built: Nov 21 2013 20:13:01
[Fri Nov 14 09:30:10.171925 2014] [core:notice] [pid 3492:tid 340] AH00094: Command line: 'C:\\EasyPHP\\binaries\\apache\\bin\\eds-httpd.exe -d C:/EasyPHP/binaries/apache'
[Fri Nov 14 09:30:10.173067 2014] [mpm_winnt:notice] [pid 3492:tid 340] AH00418: Parent: Created child process 5668
[Fri Nov 14 09:30:10.527486 2014] [mpm_winnt:notice] [pid 5668:tid 440] AH00354: Child: Starting 64 worker threads.
[Fri Nov 14 09:30:17.712429 2014] [mpm_winnt:notice] [pid 3492:tid 340] AH00428: Parent: child process 5668 exited with status 3221225477 -- Restarting.
[Fri Nov 14 09:30:17.808394 2014] [mpm_winnt:notice] [pid 3492:tid 340] AH00455: Apache/2.4.7 (Win32) PHP/5.5.8 configured -- resuming normal operations
[Fri Nov 14 09:30:17.808394 2014] [mpm_winnt:notice] [pid 3492:tid 340] AH00456: Apache Lounge VC11 Server built: Nov 21 2013 20:13:01
[Fri Nov 14 09:30:17.808394 2014] [core:notice] [pid 3492:tid 340] AH00094: Command line: 'C:\\EasyPHP\\binaries\\apache\\bin\\eds-httpd.exe -d C:/EasyPHP/binaries/apache'
[Fri Nov 14 09:30:17.810396 2014] [mpm_winnt:notice] [pid 3492:tid 340] AH00418: Parent: Created child process 5392
[Fri Nov 14 09:30:18.179885 2014] [mpm_winnt:notice] [pid 5392:tid 444] AH00354: Child: Starting 64 worker threads.

Editoval Tyraxor (14. 11. 2014 9:40)

jiri.pudil
Nette Blogger | 1032
+
0
-

3221225477 je Windows-speak pro segfault. Nejpravděpodobnější vysvětlení je tedy nějaký bug v Apachi nebo PHP. Zkus updatovat na aktuální verze.

Editoval jiri.pudil (14. 11. 2014 10:11)

Re4DeR
Člen | 71
+
0
-

https://forum.nette.org/…00-a-ok-stav#… možná podobny problém ?

pawouk
Člen | 172
+
0
-

Ahoj, nekoukej do Tracy a raději se mrkni na sít v Firelogu. Pošli prinscreen nebo tam najdeš co trvá tak dlouho. Může to být klidně nějaká externí knihovna (jQuery nebo tak něco co nemáš na localhostu). Možná máš doma prostě blbej net a tím to může být.

Šaman
Člen | 2666
+
0
-

Zkus, jestli to není také tímhle.

pawouk
Člen | 172
+
0
-

Zkus prosím toto a dej vědět. Mělo by to pomoct.

castamir
Člen | 629
+
0
-

Nebo to zkus přepsat tak, jak navrhoval @JanTvrdík

webdata
Člen | 153
+
0
-

Ten samej problem. Kiluje mě to Appache. Používám Xampp.

abc
Člen | 92
+
0
-

Můžu potvrdit – EasyPHP, PHP 5.5.8 dělá to stejné. Po downgrade na 2.2.3 je to ok. Během tohoto víkendu vyzkouším, co navrhujete a dám vědět.

Jan Tvrdík
Nette guru | 2595
+
+1
-

@PavelMacháň To je přece jedno, na PHP 5.3 se ten kód vůbec nespouští.

Tyraxor
Člen | 31
+
0
-

Do EasyPHP jsem si nainstaloval novější verzi PHP a problém zmizel, taže se opravdu jednalo o nějaký bug v PHP 5.5.8. Díky

webdata
Člen | 153
+
0
-

Nainstaloval jsem si poslední verzi XAMPP 1.8.3 (předtím jsem měl 1.8.1) kde je PHP 5.5.15 a zatím to jede v pohodě.

David Grudl
Nette Core | 8228
+
+5
-

Opraveno v Nette 2.2.6 a 2.1.8. Díky všem za odhalení a opravu chyby!

webdata
Člen | 153
+
0
-

@DavidGrudl na homepage v CZ i v EN by bylo dobré změnit Version 2.2.4 is out na Version 2.2.5 is out :-)