Rychlost nového Nette a Windows

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tomáš Kolinger
Člen | 136
+
0
-

Pozoruji menší problém s rychlostí, pokud používám Nette (2.2.0) na Windows.

Stejnou aplikaci mám na linuxovém VPS, kde je response time okolo 20–30ms, stejná stránka, bez databáze, trvá na Windows 400 – 500ms. Prostředí je jak na VPS, tak Windows podobné (PHP 5.5, nginx + php-fpm). Pokud zapnu debug, tak vidím, že čas sežere samotná PHP aplikace, není tedy problém mezi PHP a webserverem. Když se začne generovat laděnka, tak už sme na 800ms – 1500ms, což je prostě pomalé.

Ještě divnější je fakt, že jiná aplikace (Nette 2.0) se zapnutým debugem funguje na localhostu (Windows) rychle a response time je okolo 100ms, na VPS zase 20–30ms. Tudíž to nevypadá na problém v konfiguraci počítače. 404 landěnka za 150ms.

Další věc je ta, že dev počítač má lepší HW než VPS – SSD, i5 3GHz quad-core proti HDD a jednomu vláknu.

V čem by mohla být chyba? Proč je Nette na VPS o tolik rychlejší, když má server horší HW? Proč podobně komplikovaná stránka v Nette 2.0 s tímto problémem netrpí?

Profilování moc nepomohlo. Vidím, že nejvíc času zabere autoload souborů (což dělá composer) – 18%, další je parsování neonu 7%, ale to by mělo být zrovna rychlejší. Disk i procesor je lepší.

Editoval Tomáš Kolinger (27. 5. 2014 11:49)

David Matějka
Moderator | 6445
+
0
-

A nemas prave treba to profilovani (nebo jiny debug nastroj) porad u toho projektu zapnuty? to muze totiz dost zpomalit odezvu :)

Tomáš Kolinger
Člen | 136
+
0
-

Ne. Normálně mám xdebug vypnutý. Navíc to nevysvětluje druhou aplikaci v Nette 2.0, která běží na totožném webserveru se stejným php.ini a je rychlá.

Pokud to samé vyzkouším na normálním main-stream notebooku – HDD, dvoujádro, apache, php 5.5. Tak generování stránky vylítne z 500ms na 1s. S tím, že se používá keš atp. Pokud se generuje keš, tak to trvá desítky sekund.

Je to opravdu divné a bohužel hodně otravné.

Editoval Tomáš Kolinger (27. 5. 2014 11:59)

iguana007
Člen | 970
+
0
-

Nevím do jaké hloubky si zkoumal ty časy, ale já dříve řešil něco podobného a velký rozdíl udělala změna v konfigu u nastavení serveru databáze, kde jsem „localhost“ změnil na „127.0.0.1“. Pokud běžíš na IPv6, tak tam dáš „::1“.

Zkus, možná to pomůže.

Tomáš Kolinger
Člen | 136
+
0
-

Zkoušel jsem. Stejný výsledek. Navíc na té stránce se žádný dotaz nepokládá. Jde o vypsání formuláře.

Mesiah
Člen | 240
+
0
-

Jednou se mi stalo něco podobného, byl na vině xdebug – zkus smazat cookies v prohlížeči.

Caine
Člen | 216
+
0
-

Zkus taky uplne vypnout nette debugovani, jeden cas mi https://github.com/…/Strings.php#L48 tahle metoda pouzita nekde v debuggeru zpusobovala silene pomalou odezvu..