Příliš mnoho dotazů na constructURL

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

Trochu refaktoruju aplikaci a snažím se ji zrychlit. Vyzkoušel jsem blackfire.io a zjistil jsem, že mě chodí 2421 dotazů na constructURL. To mě přijde hodně. Když jsem si dumpnul jaký requesty chodí do tý metody, tak většina (možná všechny, nevím) jsou duplikovaný. Tenhle Request a Url tam mám 16×

Nette\Application\Request #b1a6
	method private => "FORWARD" (7)
	flags private => array ()
	name private => "Frontend:Homepage" (17)
	params private => array (3)
		lang => "cs" (2)
		"paginator-page" => NULL
		action => "default" (7)
	post private => array ()
	files private => array ()

Nette\Http\Url #e673
	scheme private => "http" (4)
	user private => ""
	password private => ""
	host private => "ob.loc" (6)
	port private => 80
	path private => "/"
query private => array ()
fragment private => ""

Co jsem se tak koukal, tak i ostatní Requesty tam jsou zhruba 16×. Moc mě nenapadá čím to je a kde hledat problém. Nějaký nápady?

Jediný co mě napadlo, že se to provede pro každou routu až dokud routa nevyhoví? Pokud ano, jak to zoptimalizovat?

Jan Tvrdík
Nette guru | 2595
+
0
-

Pokud tě zajímají podrobnosti, tak se můžeš podívat na moji přednášku.

Nejjednodušší hotfix je prostě negenerovat ty nejvíc frekventované odkazy přes Nette, ale třeba přes vlastní makro.


Taky je dost možné, že máš prostě blbě napsané routy (tj. máš jich nesmyslně moc). Reorganizace nebo napsání vlastního routeru může taky dost pomoci.