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

    Lentezza caricamento sito

    Salve, ho che è piuttosto lento a caricarsi.

    La mia ipotesi è che è colpa del preg_match applicato ad un contenuto preso con file_get_conents (in tutto ci sono circa 6-7 preg_match dentro ad un foreache per ognuno un file_get_contents) ma mi sembra strano che rallenti così tanto il tutto.

    (Ho postato in questa categoria proprio per la mia ipotesi).

    PS: Il sito è hostato su altervista, passando ad un hosting vero e proprio si risolverebbe il problema? Però mi sembra strano, ad un certo punto appare il messaggio "Trasferimento dati da 127.0.0.1"..
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    puoi fare dei semplici test... (se hai vari file puoi creare due script di appoggio da includere negli altri) all'inizio del codice definisci $ts = time(); e poi in vari punti successivi (uno alla volta) metti print time()-$ts;exit; spostando sempre più avanti questa istruzione fino a vedere in quale "blocco" avviene il rallentamento

  3. #3
    Ho vari test su uno script. Su 3 test:

    1 = 4 (risultato della differenza)
    2 = 3
    3 = 4

    Quest script preleva il contenuto a cui puoi verrà aggiunta una funzione preg_match per ogni elemento in un array (circa 6-8), il problema è che al primo e terzo test continuava a girare l' icona del caricamento pagina segnalando "Invio dati da 127.0.0.1" o "Ricevimento dati da 127.0.0.1", mentre nel secondo test questo è accaduto per pochi secondi.

    Passando ad un hosting (dato che ora come dicevo è su altervista) potrei risolvere il problema?
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    secondo me devi isolare bene il problema... se p.es. pensi sia davvero circoscrivile ad una certa funzione prova a "eliminarla" (virtualmente) richiamandone un'altra che non faccia alcuna operazione particolare solo per prova... se p.es. pensi sia "preg_match" cambiala in "custom_preg_match" e scrivi nel corpo la funzione originale (non dovrebbe cambiare di molto), dopodichè riprova ma mettendo come prima istruzione un "return (...)" (puoi restituire il valore che ti pare: serve solo a "saltare" l'esecuzione interna) e vedi se migliora il tempo

  5. #5
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Le preg_match sono sicuramente onerose e vanno usate con cognizione di causa. Passare ad un hosting "serio" può solo parzialmente risolvere nel senso che potrebbe essere maggiormente performante e dare idea di aver risolto un problema che invece è ancora li ma semplicemente che si nota meno.

    Come tu stesso hai evidenziato il messaggio "Trasferimento 127.0.0.1" è piuttosto strano... sei sicuro che non ci siano riferimenti al tuo localhost rimasti nei file di configurazione?

    Quando parli di lentezza comunque di che unità di misura parliamo? Secondi? Quanti secondi? Su che mole di dati? Sarebbe opportuno effettuare del profiling ma vorrei evitare di entrare nel tunnel se non hai esperienza con quest'ultimo.

  6. #6
    eiyen non è che abbia capito molto, se la funzione è così:

    preg_match('#<span class="test1">(.+?)</span>#s', $cont, $m)

    con custom_preg_match come diventerebbe?

    _debo non ci sono riferimenti a localhost, comunque la lentezza diciamo che varia, ogni tanto magari si carica tutto tranne le immagini (compresi i background dei div), altre volte magari devi visualizzare un' immagine dal link diretto per poi visualizzarla anche nel sito, ma mi pare che una volta che viene tutt salvato nella cache si visualizzi senza problemi e rapidamente.
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Codice PHP:
    function custom_preg_match($pattern$subject, &$matches) {
      
    $debug false// metti a true per provare la differenza
      
    if ($debug) return ($matches);
      return (
    preg_match('#<span class="test1">(.+?)</span>#s'$cont$m));
    };

    // preg_match('#<span class="test1">(.+?)</span>#s', $cont, $m) diventa:
    custom_preg_match('#<span class="test1">(.+?)</span>#s'$cont$m); 
    in pratica i preg_match li cambi in modo che chiamino una tua funzione che normalmente fa la stessa cosa... però puoi "bypassare" le chiamate restituendo un valore "di comodo" saltando il pattern matching per vedere la differenza in termini di tempo

  8. #8
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    Originariamente inviato da 0-c00l
    _debo non ci sono riferimenti a localhost, comunque la lentezza diciamo che varia, ogni tanto magari si carica tutto tranne le immagini (compresi i background dei div), altre volte magari devi visualizzare un' immagine dal link diretto per poi visualizzarla anche nel sito, ma mi pare che una volta che viene tutt salvato nella cache si visualizzi senza problemi e rapidamente.
    Se come dici tu non c'è nessun riferimento a localhost (127.0.0.1) come si spiega quel messaggio?

    Detto questo perdonami ma lentezza != cose che non vengono visualizzate. Puoi elaborare meglio che cosa succede esattamente?

  9. #9
    Uhm, aggiornamento che mi è venuto pensandoci bene..

    In altervista per connettersi al database bisogna usare come Hostname "localhost", può dipendere da quello il messaggio Trasferimento dati 127.0.0.1?
    Social Network in costruzione.. Misto tra Twitter e Facebook.. Twitbook o facetter?

  10. #10
    Utente di HTML.it L'avatar di _debo
    Registrato dal
    Mar 2012
    residenza
    London, UK
    Messaggi
    858
    No, non dovrebbe nel senso che non è il browser a collegarsi quindi non lo dovresti vedere nella status bar.

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.