Jump to content
php.lv forumi

Recommended Posts

Posted
> 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) :)

  • Replies 36
  • Created
  • Last Reply

Top Posters In This Topic

Posted

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)

Posted

Bet vai ģenerējot to PHP source, priekš ierakstīšanas failā nebūs vēl lielāks overhead?

Posted
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)

Posted
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..

Posted (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 by MakaTaNaw
Posted

Viendimensijas masīvs ?

$content .= '$x= array(';
foreach($arr as $k => $v) {
 $content .= $k.' => '.$v.', ';
}
$content .= ');';

 

Eskeipošana gan jāveic arī.

Posted (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 by MakaTaNaw
Posted

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.

Posted

Negribu tā teikt, bet nu tā saka tie cipari lapas apakšā..

 

Kas ir binary include? Nekad ar tādām neesmu saskāries..

Posted (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 by Delfins
Posted
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.


×
×
  • Create New...