Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776

    Tempo esecuzione pagina PHP, valore medio 1.2 secondii

    Ciao a tutti,

    cosa vi sembra il tempo medio di esecuzione di una pagina php, qualsiasi pagina del sito, di 1.2 secondi?
    Sono in locale (LOCALHOST), tramite WAMP.
    Per calcolarlo utilizzo la funzione:
    Codice PHP:
    microtime(TRUE); 
    Nella prima istruzione vedo quanto è il valore iniziale che sottraggo al valore finale.
    Il tempo medio va da 1 a 1.4 secondi, vale per tutte le pagine del sito, come vi sembra?

    Grazie,
    Roberto
    Ultima modifica di robynosse; 30-05-2018 a 18:29

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Ovviamente dipende da cosa fa il codice php della pagina, ma quei valori sono estremamente alti per operazioni "normali".

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Ovviamente dipende da cosa fa il codice php della pagina, ma quei valori sono estremamente alti per operazioni "normali".
    C'è un modo di analizzare quali processi possono rallentare la pagina eventualmente?

    Utilizzo un pattern MVC, lo stesso che ho utilizzato per un'altra pagina che ho pubblicato che è rapidissima.
    Non potrebbe essere dovuto al WAMP la lentezza?
    La pagina effettua varie letture da diverse tabelle, effettua una 10ina di include e carica i dettagli delle viste, di ogni singola pagina, da diversi file, 5 o 6.
    A breve la metterò online direttamente, visto che per la risposta della banca (per il pagamento) ho bisogno di essere ONLINE e farò ulteriori prove.

    Grazie
    Roberto
    Ultima modifica di robynosse; 30-05-2018 a 22:03

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Puoi usare microtime() segmentando le varie parti di codice in base alle operazioni che fanno e stamparti per ogni parte il tempo impiegato per l'esecuzione. per esempio potresti:

    controllare il tempo che ci mette a fare gli include
    controllare il tempo che ci mette a fare le query sul db
    controllare il tempo per caricare i template delle view

    Vedere dove si pianta e suddividere nuovamente nelle sotto operazioni.

    Altrimenti puoi usare il profiler di xdebug, che va configurato ma ti elimina la rottura di scatole di segmentare il codice utilizzando microtime() e ti da un'idea chiara di cosa rallenta il tuo script.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Puoi usare microtime() segmentando le varie parti di codice in base alle operazioni che fanno e stamparti per ogni parte il tempo impiegato per l'esecuzione. per esempio potresti:

    controllare il tempo che ci mette a fare gli include
    controllare il tempo che ci mette a fare le query sul db
    controllare il tempo per caricare i template delle view

    Vedere dove si pianta e suddividere nuovamente nelle sotto operazioni.

    Altrimenti puoi usare il profiler di xdebug, che va configurato ma ti elimina la rottura di scatole di segmentare il codice utilizzando microtime() e ti da un'idea chiara di cosa rallenta il tuo script.
    Quasi tutto avviene dentro il metodo render per cui mi basterebbe aggiungere una chiamata al metodo che mi calcola il tempo trascorso passandogli il nome del metodo che eseguirà, in questo modo posso sapere il punto del collo di bottiglia.

    Mi sembra molto interessante anche xdebug, come funziona e si configura grosso modo?

    Proverò comunque prima il primo metodo che mi costerà una decina di minuti implementarlo, ma mi piacerebbe imparare anche il secondo.

    Grazie,
    Roberto

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Puoi usare microtime() segmentando le varie parti di codice in base alle operazioni che fanno e stamparti per ogni parte il tempo impiegato per l'esecuzione. per esempio potresti:

    controllare il tempo che ci mette a fare gli include
    controllare il tempo che ci mette a fare le query sul db
    controllare il tempo per caricare i template delle view
    Ho trovato la linea incriminata, mi è costata un'ora ma ne è valsa la pena:

    Codice PHP:
    echo microtime(TRUE)-INICIO" conexion prima<br>";        
    self::$conexion=new PDO("mysql:host=".self::HOST.";dbname=".self::DB.";charset=utf8",self::USER,self::PW);//linea incriminata        
    echo microtime(TRUE)-INICIO" conexion dopo<br>"
    Infatti il tempo prima e dopo di questa linea produce il seguente risultato:
    0.014064073562622 conexion prima
    1.0166149139404 conexion dopo

    Come vedi il tempo si alza tantissimo, 1 secondo.
    La connessione al DB si stabilisce solo la prima volta che si utilizza!
    Potrebbe dipendere quindi dal WAMP ed il relativo server MySQL che è lento ad aprire la connessione?

    Ti ricordo che adesso sono in un ambiente di sviluppo e la macchina non è ancora in produzione (non sarà questa la macchina di hosting).

    Infatti molte volte ho notato che lo stesso phpmyadmin, quando utilizzo mysql, tarda molti secondi a rispondere e alcune volte, 2/3 volte al giorno, devo reiniziare i servizi "Restart all service".



    Grazie mille,
    Roberto

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    HO RISOLTO!!!!!

    É bastato mettere al posto di LOCALHOST:
    127.0.0.1
    E adesso va rapidissimo:
    tempo medio:
    0.064570188522339 per tutta la pagina

    Sono felicissimo!

    Roberto

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2016
    Messaggi
    783
    Ottimo, probabilmente c'è qualcosa che rallenta la risoluzione dell'indirizzo ip, vai a capire.

    Per quanto riguarda xdebug qui trovi tutta la doc: https://xdebug.org/docs/
    Dagli un'occhiata, non è particolarmente complicato da utilizzare.

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Quote Originariamente inviata da M4V1 Visualizza il messaggio
    Ottimo, probabilmente c'è qualcosa che rallenta la risoluzione dell'indirizzo ip, vai a capire.

    Per quanto riguarda xdebug qui trovi tutta la doc: https://xdebug.org/docs/
    Dagli un'occhiata, non è particolarmente complicato da utilizzare.
    Perfetto, grazie!

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    776
    Piccolo aggiornamento:
    oggi ho fatto l'upload del sito e da una media di 150ms per restituire la pagina, siamo passati a una media di 15ms.
    Online è 10 volte più rapido!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.