Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [PHP] Piccolo problema Ram

    Buongiorno a tutti, tengo nu piccolo problema

    Tramite uno script php (che non so come sono riuscito a farlo funzionare badiamo bene) leggo un file xml stampando a video i contenuti, il mio problemino è che mi arriva a 300MB di Ram e firefox continua a cercare altra ram nel mio pc o.o ... v'è un modo al cambio della pagina per ridurre la ram che usa? o.0 (magari cerca di mettere la pagina in cache o.o )

  2. #2

  3. #3
    Codice PHP:
    <?php
    Header
    ('Cache-Control: no-cache');
    Header('Pragma: no-cache');
    $xml simplexml_load_file('Prezzario_UNI6.xml');

    echo 
    "<h3>Unità di misura salvati nel file Prezzario.xml (".count($xml->prezzario->unitaDiMisura).")</h3>";
    echo 
    "<ul>";
    foreach(
    $xml->prezzario->unitaDiMisura as $article)
    {
        echo 
    "[*]".$article['unitaDiMisuraId']." ".$article['udmId']." ".$article['simbolo']." ".$article['decimali']."";
        echo 
    "[*]".$article->udmDescrizione['breve']."";
    }

    foreach(
    $xml->prezzario->prodotto as $article)
    {
        
    $var0 $article['unitaDiMisuraId'];
        if (!isset(
    $var0))
        {
        echo 
    "[*]".$article['prodottoId']." ".$article['prdId']."";
        }
        else
        {
        echo 
    "[*]".$article['prodottoId']." ".$article['prdId']." ".$var0."";
        }
        echo 
    "[*]".$article->prdDescrizione['breve']." ".$article->prdDescrizione['estesa']."";
        
    $var1 $article->prdQuotazione['valore'];
        if (isset(
    $var1))
        {
            echo 
    "[*]".$var1."";
        }
    }
    echo 
    "[/list]";

    ?>

  4. #4

  5. #5
    non è una classe o.0 al momento stò testando, poi ne farò una funzione ricorrente, non devo stampare a video il suo contenuto ma metterlo nel db, avrò altre pagine in cui visualizzare i codici da database, ma restano comunque circa 50.000 voci da visualizzare a video

  6. #6
    Con così tante voci ti conviene usare un database per questioni di performance e sicurezza dei dati. Oltretutto con le un buono schema di db puoi alleggerire il carico anche sul client.
    Secondo mè è impossibile gestire una quantità così grande di dati in maniera efficente usando file .xml.
    Never care for what they say, Never care for games they play. Never care for what they do, Never care for what they know.
    «Solo due cose sono infinite: l’universo e la stupidità umana, e sul primo non sono sicuro». (A. Einstein)

  7. #7
    soichiro, temo che questa volta tu ti stia sbagliando.

    Io stò creando un gestionale con php, mysql e javascript (in minima parte), devo poter importare come prezzario una cosa della regione piemonte, un file xml che segue lo standard six, l'unico modo per poter legger quel file è lo script sopra postato... metterlo nel database non è un problema... una volta che riesco a metterlo a video (cosa che con quello script già posso fare) posso inserire il tutto in automatico nel database... il problema mi si pone nella visualizzazione, per farti un esempio, vi sono nodi madre e nodi figli, anche una volta inserito il tutto nel mio caro, vecchio db mysql nelle giuste tabelle pesa molto la visualizzazione a video di norma dovrà lavorare (il programma) con prezziari "umani" (ovvero con circa 200 voci) "^____^ anche con la voce nocache il mio firefox si stabilizza a 261MB di ram circa per il singolo processo o.0, a livello di logica devo consentire che possano visualizzarlo.... ma non mi vengono in mente soluzioni... inoltre... la visualizzazione dello script di cui sopra viene preso direttamente da un file xml.

  8. #8
    ok dimmi se ho capito male (è lunedì mattina.. ): devi visualizzarlo prima di caricarlo nel db????? perchè???? meglio infilarlo prima nel db e poi vedere i risultati con una query.
    Poi mi sembra strano che su un db mysql pesi tanto quanti mb di dati sono?
    Never care for what they say, Never care for games they play. Never care for what they do, Never care for what they know.
    «Solo due cose sono infinite: l’universo e la stupidità umana, e sul primo non sono sicuro». (A. Einstein)

  9. #9
    nei test lo stò solo visualizzando a video, una volta finiti i test intendo caricare l'xml direttamente nel database, e poi in un secondo momento visualizzarlo, il problema ipotizzo possa comunque restare in quanto sono comunque 50.000 voci, e visualizzarle prima o dopo penso che possano avere dei pesanti effetti in ram.

    Il file xml pesa 15 MB.

  10. #10
    In fase di insert nel db il consumo di memoria sul client è molto inferiore perchè i dati li carica nella ram del server, inoltre toglierai tutto l'xml non necessario per immetterlo nel db(quelli relativi alla visualizzazione) quindi i consumi sono inferiori, e poi se fatto bene un db mysql non ha il minimo problema con quella mole di dati, devi solo avere premura di aumentare la ram per lo script (prova a partire da 64mb ed aumenti di 8 x volta) e il timeout che dovrebbe andare.
    Never care for what they say, Never care for games they play. Never care for what they do, Never care for what they know.
    «Solo due cose sono infinite: l’universo e la stupidità umana, e sul primo non sono sicuro». (A. Einstein)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.