Vebers Posted October 8, 2007 Author Report Share Posted October 8, 2007 > save php-code cache Nesapratu ko Tu īsti ar šo biji domājis. Tjip, labāk serialize vietā ģenerēt jau pašu php source ? Serialize / unserialize variants ir izmantots pašreizējā kodā - mans uzdevums to uzlabot ar jebkādiem līdzekļiem (Jaunu kasti pirkt nav risinājums) :) Link to comment Share on other sites More sharing options...
Delfins Posted October 8, 2007 Report Share Posted October 8, 2007 serialize = read / unserialize include = read Tik lielam masīvam domāju, ka papildus noņems slodzi - un tieši CPU slodzi (netiek dzenāts strings) Link to comment Share on other sites More sharing options...
Vebers Posted October 8, 2007 Author Report Share Posted October 8, 2007 Bet vai ģenerējot to PHP source, priekš ierakstīšanas failā nebūs vēl lielāks overhead? Link to comment Share on other sites More sharing options...
Delfins Posted October 8, 2007 Report Share Posted October 8, 2007 Cache dati pārģenerējas reizi 3 min Nu pirmkārt vajag ģenerēt, tad kad kaut kas ir izmainījies. Otrkārt, tā ģenerēšana atmaksājās ... 1 reiz uzģenerē - pretī dabū > 100000 requestus failam (cipars izzīsts no pirksta, viņš var būt vēl gana augstāks) Link to comment Share on other sites More sharing options...
Roze Posted October 8, 2007 Report Share Posted October 8, 2007 Bet vai ģenerējot to PHP source, priekš ierakstīšanas failā nebūs vēl lielāks overhead? Domāju ka nē.. Paskaties kāds izskatās: <? $arr = array(1 => 'value', 2 => 'value'); ?> Un tad <? echo serialize($arr); ?> Tev kā jau Delfins rakstija atkrīt serializācijas vajadzība un datu apjoms būtiski nemainīsies jo serializējot krāmējas tāpat visāda (tips/garums utt) figņa klāt (ja ne vēl vairāk). Serializācijas pasākums atkritīs Memcache variantā kad tiks uztaisīts binary protokols.. Link to comment Share on other sites More sharing options...
Vebers Posted October 8, 2007 Author Report Share Posted October 8, 2007 (edited) Skaidrs, ir vērts katrā ziņā pamēģināt. Kādas idejas kā masīvus uzģenerēt kā effektīvāk php kodu? Uz sitiena nekas nenāk prātā.. Edited October 8, 2007 by MakaTaNaw Link to comment Share on other sites More sharing options...
andrisp Posted October 8, 2007 Report Share Posted October 8, 2007 Viendimensijas masīvs ? $content .= '$x= array('; foreach($arr as $k => $v) { $content .= $k.' => '.$v.', '; } $content .= ');'; Eskeipošana gan jāveic arī. Link to comment Share on other sites More sharing options...
Vebers Posted October 8, 2007 Author Report Share Posted October 8, 2007 Viendimensijas masīvs ? Nea, daudz dimensiju masīvs Link to comment Share on other sites More sharing options...
andrisp Posted October 8, 2007 Report Share Posted October 8, 2007 Nu tad imo tas pats, tikai rekursīvi. Link to comment Share on other sites More sharing options...
Delfins Posted October 8, 2007 Report Share Posted October 8, 2007 beigās salīdzini - include vs kešers. Es vēl gribētu redzēt arī nokompilēto_include vs kešers testu Link to comment Share on other sites More sharing options...
Vebers Posted October 8, 2007 Author Report Share Posted October 8, 2007 (edited) Ok, uztaisīju arī include variantu. serialize variants: bez cache: 0.022 sec; no Db, ierakstīšana failā: 0.38 sec; no diska faila (cache content): 0.0084 sec; Include variants: bez cache: 0.022 sec; no Db, ierakstīšana failā: 0.12 sec; no diska faila (cache content): 0.032 sec; Vēljoprojām sanāk ka serialize variants ar FS ir visātrākais variants. Kādas citas idejas? Kā ar heap tabulām ? It just doesn`t make sence... Edited October 8, 2007 by MakaTaNaw Link to comment Share on other sites More sharing options...
Delfins Posted October 8, 2007 Report Share Posted October 8, 2007 Tu gribi teikt read + unserialize ātrāks par include ? Pamēģini bināro inkludi. Kā arī hi-load saitiem - visus failus ir jākompilē - kaut vai ar to pašu turckmmcache - boosts ir ievērojams. Link to comment Share on other sites More sharing options...
Vebers Posted October 8, 2007 Author Report Share Posted October 8, 2007 Negribu tā teikt, bet nu tā saka tie cipari lapas apakšā.. Kas ir binary include? Nekad ar tādām neesmu saskāries.. Link to comment Share on other sites More sharing options...
Delfins Posted October 8, 2007 Report Share Posted October 8, 2007 (edited) es takš pateicu - turck mmcache Tikai atceries vienu, ka kompilēt vajag uz citu direktoriju, lai neppārraksta oriģinālus :) Citādi atpakaļ kodu nedabūsi. Edited October 8, 2007 by Delfins Link to comment Share on other sites More sharing options...
Roze Posted October 8, 2007 Report Share Posted October 8, 2007 es takš pateicu - turck mmcache turck mmcache šķiet jau ir kādus 3-4 gadus vecs produkts un manuprāt viņam vairs nav atbalsta 5.x (5.1/5.2 noteikti) php.. Projekts kas "forkojās" no mmcache ir eAccelerator http://eaccelerator.net/ Un tur nekas nav "jākompilē" bet bytecode cache glabājas shared memory.. ir protams iespēja arī keshot gatavu kontentu. Link to comment Share on other sites More sharing options...
Recommended Posts