Topic: spausdinimo optimizavimas

Sveiki,
yra tokia situacija, kad db yra apie 3000 prduktu ir kviekviena karta kreipiantis i
manosvetaine.lt/product.xml man reikia generuoti siu produktu xml feed.
(tokio situacija, kad negaliu papildyti xml kai kuriamas/redaguojamas produktas)

Viska nuskaito is db ir sudelioja per ~3s.
Bet viska spausdinant i ekrana man nuluzta narsykle.

for()
{
    $xml .= '<product>'.$kin.'</product>';
    ir t.t.
}
//Iki cia viskas ok. (3s.)

header("Content-type: text/xml;charset:UTF-8");
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo $xml; //Spausdina labai ilgai ir nuluzta

Kaip butu galima optimizuoti, paspartinti pati spausdinima?
Is anksto aciu.

Re: spausdinimo optimizavimas

Suprask, ne spausdinimas (echo) pas tave yra problema, o tai, kad naršyklė gavusi kažkokį tai dokumentą (tarkim XML), ilgai jį parsina.

Kodėl ilgai prasina - klausimas, kad tikrai labai didelis dokumentas su daug node'ų? Gal dokumente yra pilna sintaksės/logikos klaidų?

Re: spausdinimo optimizavimas

Klaidu nera, nes kai spausdini kokius 200 viskas ok.
taip, dokumentas ilgas ir daug nodu.

Re: spausdinimo optimizavimas

Tai gal pasiekia kazkoki timeout'a? arba uzsipildo koks nors buferis duomenimis.

O gal galima gabalais duomenis atvaizduoti?

Re: spausdinimo optimizavimas

Meskiuss wrote:

Klaidu nera, nes kai spausdini kokius 200 viskas ok.
taip, dokumentas ilgas ir daug nodu.

Bet sutinkti, kad jeigu "viskas gerai", tai tu su PHP juk neišspręsi konkrečios naršyklės nulūžimo problemų, jeigu tarkim lūštama dėlto, kad neužtenka RAM'o? (-;

Ką su PHP/MySQL tu gali padaryti, tai atiduoti dokumentą daug greičiau ir užtikrinti jo kokybę.

Jeigu nori paeksperimentuoti - išsaugok dokumentą faile (xxxxx.xml) ir su naršykle atidaryk tą failą ir pasižiūrėk kas nutinka.

6 (edited by md5 2012-03-07 17:34:45)

Re: spausdinimo optimizavimas

tai visvien reikia pravaliduot. Headeris neteisingai parašytas.

Kiek maigyklių sudėvėjai ?