Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    89

    [WP] speed test e risoluzione problemi

    Ciao a tutti,
    un cliente si è lamentato per la lentezza nel caricamento del suo sito realizzato con wordpress.
    Ho fatto un test con analisi dello scaricamento della pagina ( immagine ).
    Come si può facilmente vedere ci sono 3 elementi che danni più problemi:

    1. una certa immagine: .../drop.gif
    Mi sono accorto che un plugin richiamava questa immagine che però non era presente nel percorso specificato. facendoglela trovare quel tempo si è praticamente normalizzato.

    2. le pagine HTML, nello specifico del test site/archives/category/animations/
    qui non so come cavarmela; potrebbe essere un problema di hosting o di server, oppure è qualcosa nel codice html? magari del codice scritto male?

    3. un plugin wp-content/plugins/wordpress-seo-pager.php?css=1
    anche qui non so come cavarmela. il percorso fa riferimento a css=1, non so se il problema della velocità ridotta si possa riferire al codice css contenuto nel file php del plugin, oppure il problema è da qualche parte nel plugin stesso.

    Idee? grazie.

  2. #2
    Hai ripetuto il test più volte sulla stessa pagina?

    Inoltre considera una cosa importante, se hai codice Javascript nell'head questo blocca totalmente il caricamento della pagina per la maggior parte dei browser! Prova a spostarlo subito prima della chiusura del body cosi che il dom sia popolato e non ci sia più niente da caricare

    Per quanto riguarda i tempi lunghi ci sarebbe da capire da cosa possono dipendere: per intenderci può benissimo essere il server eccessivamente carico a far rallentare le altre pagine, soprattutto se sei in hosting condiviso.

    prova a fare un
    echo `uptime`

    se la macchina è linux, gli ultimi 3 valori indicano il carico della macchina

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    89
    Intanto grazie.
    Dunque, di codice javascript nell'header non ne ho. Stavo pensando di provare con questo plugin wp super cache. Potrebbe fare al caso mio?

    Non ho dimestichezza di php, dove dovrei mettere echo `uptime`?

  4. #4
    non penso ti possa aiutare più di tanto, infatti wordpress, in ogni caso, carica tutti i vari, necessari, componenti all'esecuzione e quindi anche se non accede al database non credo che avrai un recupero di performance particolarmente elevato

    hai fatto prove anche con altre pagine?

    hai provato, eventualmente, a disabilitare il plugin wordpress seo pager?

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    89
    M ase disabilito il plugin, poi chi mi fa la paginazione dei post?
    I problemi che ho evidenziato sono comuni a tutte le pagine del blog.
    Come posso sapere con esattezza se la lentezza nello scaricare la pagina HTML site/archives/category/animations/ è dovuta dal server oppure da come è compilata la mia pagina? Come dicevo prima, non ci sono javascript nell'header.

    E' proprio il tempo di risposta dopo il click che mi preoccupa... non è che dopo il click passa subito alla pagina richiamata e poi ci mette molto a caricare quella, ma passa molto tempo dal click al cambio della pagina. come se il messaggio del mio click arrivasse a destinazione con molto ritardo (oppure la risposta arriva in ritardo, non so).

  6. #6
    per fare delle misurazioni è un pò complicato, comunque provo ad aiutarti

    allora nella root del tuo spazio web (sotto htdocs, www o simili) metti 2 file

    file check-prepend.php
    Codice PHP:
    <?php

    // Verifica se il file di controllo è presente o meno
    if (file_exists(dirname(__FILE__) . '/CHECK') === true)
    {
        
    // Registra la memoria utilizzata, la memoria utilizzata reale ed il tempo
        // di esecuzione iniziale
        
    $__startMemory memory_get_peak_usage();
        
    $__startMemoryReal memory_get_peak_usage(true);
        
    $__startTime microtime(true);
    }

    ?>
    file check-append.php
    Codice PHP:
    <?php

    // Verifica se il file di controllo è presente o meno
    if (file_exists(dirname(__FILE__) . '/CHECK') === true)
    {
        
    // Funzione da eseguire per la registrazione delle informazioni allo shutdown
        // dell'applicativo
        
    function __check_shutdown_function()
        {
            
    // Forza l'invio dell'output per tutti i livelli dell'outbuffering
            
    while(ob_get_level() > 0)
            {
                
    // Forza un flush dell'output
                
    ob_end_flush();
            }
            
            
    // Forza un flush dell'output
            
    flush();
            
            
    // Acquisisce la durata dell'esecuzione
            
    $executionTime =  microtime(true) - $GLOBALS['__startTime'];
            
    $executionMemory = (memory_get_peak_usage() - $GLOBALS['__startMemory'])
                / 
    1024;
            
    $executionMemoryReal = (memory_get_peak_usage(true) - $GLOBALS['__startMemoryReal'])
                / 
    1024;
            
            
    // Costruisce l'url richiesto
            
    $uri 'http' . (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' 's'
                
    '') . '://' $_SERVER['SERVER_NAME'] . ($_SERVER['SERVER_PORT'] != '80'
                    
    ':' $_SERVER['SERVER_PORT'] : '') . $_SERVER['REQUEST_URI'];
            
            
    // Apre il file nella directory corrente
            
    $fp fopen(dirname(__FILE__) . '/check-result.txt''ab');
            
            
    // Scrive il report
            
    fwrite($fpdate('d/m/Y H:i:s') . "\r\n");
            
    fwrite($fp$uri "\r\n");
            
    fwrite($fpsprintf('Memoria PHP: %0.6f'$executionMemory) . "\r\n");
            
    fwrite($fpsprintf('Memoria Reale: %0.6f'$executionMemoryReal) . "\r\n");
            
    fwrite($fpsprintf('Tempo di esecuzione: %0.6f'$executionTime) . "\r\n");
            
    fwrite($fp"------\r\n");
            
    fwrite($fp"\r\n");
            
            
    // Chiude il file
            
    fclose($fp);
        }
        
        
    // Registra la funzione per lo shutdown
        
    register_shutdown_function('__check_shutdown_function');
    }

    ?>
    Poi, sempre nella root, crei altri 2 file, il primo che si chiama CHECK (tutto maiuscolo) ed il secondo che si chiama check-result.txt ... su quest'ultimo devi impostare i permessi di lettura e scrittura, ovvero 666 tramite un client ftp.

    Fatte queste operazioni, apri il file .htaccess di wordpress e metti dentro
    codice:
    php_value auto_prepend_file ../../../check-prepend.php
    php_value auto_append_file ../../../check-append.php
    devi mettere i vari ../ in base al numero di quante subdirectory sono presenti tra la root e wordpress

    ad esempio se l'.htaccess sta in
    sito/wordpress/.htaccess

    allora dovrai mettere 2 ../ quindi
    codice:
    php_value auto_prepend_file ../../check-prepend.php
    php_value auto_append_file ../../check-append.php
    se invece wordpress sta nella root basterà

    codice:
    php_value auto_prepend_file ./check-prepend.php
    php_value auto_append_file ./check-append.php
    Alternativamente, se lo conosci puoi scrivere il percorso per intero al file php (non il percorso web ma quello che fa riferimento al disco).

    Le due righe dell'htaccess le devi mettere come PRIMISSIMA cosa

    Questo controllo funziona male su versioni non recenti di php, ci vuole la 5.2.0 ... rimuovendo alcune parti, però, può funzionare con tutte le versioni di php 5 ... ovvero tutti i vari memory_get_peak_usage(true) e memory_get_peak_usage() li sostituisci con degli 0 (avrai dei notice, ma il codice continuerà)

    Dentro il file check-result.txt troverai il report dei tempi di accesso, output al browser compreso, e memoria necessaria per eseguire la pagina sul server

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.