• Passa alla navigazione primaria
  • Passa al contenuto principale
  • Passa alla barra laterale primaria
  • Passa al piè di pagina

Il blog di HostingVirtuale

Hosting e Registrazione Domini

  • Facebook
  • Instagram
  • LinkedIn
  • Pinterest
  • RSS
  • Twitter
  • Youtube
  • Home
  • CMS
  • Social Media
  • Web Hosting
  • Web Design
  • Web Marketing
  • HostingVirtuale
    • Web Hosting
    • Cloud server
    • Server dedicati
    • Virtual Private Server
    • Sicurezza
Ti trovi qui: Home / Web Hosting / Effettuare un test di performance su MySQL

Effettuare un test di performance su MySQL

Pubblicato il 18 Marzo 2015 da Salvatore Capolupo Lascia un commento Contrassegnato con: mysql

Effettuare un test di performance su MySQL

L’utilizzo di MySQL permette ai siti web di acquisire, sfruttare e valorizzare una propria componente dinamica, abilitando a funzionare i vari CMS (Joomla!, WordPress, Drupal, PrestaShop) ad essere in questo modo personalizzabili, programmabili ed editabili mediante appositi backend.

Così facendo, si forniscono ai visitatori informazioni variabili nel tempo e sempre aggiornate, con la possibilità di modificare i dati mediante apposite credenziali ed interfacce web.

I siti di news, così come i blog, gli aggregatori di notizie e molti altri tipi di portali web, fanno ampio uso di database MySQL, a maggior ragione del fatto che parliamo di un sistema free ed open source e, per queste due ragioni, ampiamente documentato ed utilizzato.

È possibile quindi valutare le prestazioni di un server MySQL, al fine di rendersi conto se esistono margini di ottimizzazione?

In linea di massima le prestazioni di un web server si valutano mediante apposite procedure di benchmark e stress test (ad esempio LoadImpact), che possiedono il vantaggio di non dover neanche essere installate. Al tempo stesso, comunque, è bene tenere presente che l’unico modo efficace per migliorare i tempi di accesso al sito passa per un’ottimizzazione del codice usato (in certi casi intervendo anche sul core) e della struttura del database.

Per agire in prima istanza in questa direzione, possiamo pensare di ottimizzare le singole tabelle, ad esempio (mediante linea di comando MySQL oppure, se preferite, mediante PHPMyAdmin):

OPTIMIZE TABLE nometabella

Sui database con supporto InnoDB inoltre, questo comando in particolare (che richiede permessi di grant per insert e select per funzionare correttamente) permette di ricostruire la tabella in questione riallocandola e liberando lo spazio inutilizzato dall’indice.

Più spesso è conveniente ottimizzare il database per intero e per farlo si può usare (solo da linea di comando) questa variante:

mysqlcheck -o –all-databases 

Valutare la velocità di trasferimento dati del database è un’operazione ulteriore che possiamo abilitare mediante degli appositi plugin per i CMS, oppure lavorando direttamente sul codice del theme del sito in questione.

Lato MySQL, è possibile eseguire questa query da PHPMyAdmin e poi andare ad eseguire una query benchmark di questo tipo (fonte MySQL.com):

SELECT BENCHMARK(1000000,ENCODE(‘hello’,’goodbye’)); 

Tale query forza il server del database ad eseguire un certo numero di operazioni di “routine” e con questo semplice comando fornirà una risposta in un tempo variabile, ad esempio 4.45 secondi, che verrà indicato relativamente al client: questo è molto importante perché permette di fare delle valutazioni, ripetendo il test più volte, sul tempo medio di “carico” della macchina su cui alloggia il vostro sito.

Per WordPress, ad esempio, le prestazioni possono essere monitorate installando uno dei plugin come il famoso Benchmark, il più avanzato QueryMonitor (che possiede maggiore attenzione  ad aspetti aggiuntivi di WordPress, ad esempio richieste http, hooks, espressioni condizionali, query generiche, redirect) ed anche l’interessante e facile da integrare CPU Performance (che come nel caso precedente valuta anche l’eventuale sovrautilizzo di RAM e di CPU del server che ospita il servizio di hosting).

Di solito, infine, è possibile inserire dei contatori che vadano a valutare il numero/tipo di query e, soprattutto, il tempo necessario per eseguirle: salvo configurazioni del server scorrette o problemi di connettività, in effetti, il vero “collo di bottiglia” per le prestazioni di un sito passa in larga parte per i tempi di accesso di MySQL (questo, in prima istanza, vale per un buon numero di casi reali, anche se non per tutti).

Per valutare i tempi, solitamente si procede utilizzando il seguente codice PHP:

  1. si memorizza in una variabile $a, nel codice PHP ed in corrispondenza dell’istruzione prima del lancio della query SQL, il timestamp “di partenza”, ad esempio $a = time();
  2. in corrispondenza della fine della query, o nel punto che ci interessa, si va a ricalcolare in una nuova variabile $b = time(); il timestamp “di arrivo”;
  3. si calcola la differenza tra $b ed $a, valore espresso in millisecondi, ottenendo un valore maggiore di zero che andrà convertito eventualmente in secondi, cioè divivendo il numero trovato per mille.

Questo valore è una stima realistica del tempo necessario all’esecuzione della query e misurandolo ripetutamente effettuando, poco alla volta, delle modifiche sulla struttura della query riducendo ad esempio il numero di colonne necessarie, sarà possibile provare a ridurre la durata ed i tempi di attesa per il client.

Articoli correlati:

Ottimizzare MySQL per migliorare le prestazioni del databaseOttimizzare MySQL per migliorare le prestazioni del database Come fare il backup del database MySQL nel cloudCome fare il backup del database MySQL nel cloud Come migrare il database MySQL mediante cloudCome migrare il database MySQL mediante cloud

Interazioni del lettore

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Barra laterale primaria

Come diventare Web Designer Professionista

Crea il tuo sito web gratis

Scopri il nostro hosting gratuito FREE che comprende: dominio, 100 MB di spazio web, posta elettronica, database MySQL, certificato SSL e il pannello di controllo in italiano HVCP che consente anche l'installazione di WordPress con un click.

Scopri di più!

Web Designer alle prime armi?

Scarica l’Ebook e scopri le migliori tecniche e gli strumenti del mestiere usati dai Web Designer esperti.
Ti sveleremo:
- L’importanza del percorso formativo;
- I libri indispensabili;
- Gli strumenti migliori;
- Come trovare nuovi clienti;
- Come creare un preventivo efficace;
- Come creare un portfolio online;
- Come diventare pro con un mentore;
- Il pannello di controllo all-in-one.

Scarica l'ebook!
  • Le nuove funzioni di HVCP: crea il tuo sito web gratis
  • Le nuove funzioni di HVCP: Certificati SSL personali e per sottodomini
  • Le nuove funzioni di HVCP: IMAPSync, direttive php.ini, error log

Articoli recenti

  • Come usare Chat GPT per il tuo blog 28 Marzo 2023
  • I trend di web design per il 2023 21 Marzo 2023
  • Chat GPT: cos’è e a cosa serve 14 Marzo 2023
  • I plugin WordPress per la sicurezza del tuo sito web 7 Marzo 2023
  • Il design dei siti web per la Generazione Z 1 Marzo 2023

Il tuo sito web è al sicuro?

Attiva il Cloud Backup con il 20% di sconto! Grazie al semplice pannello di controllo in italiano puoi salvare nel cloud storage di Amazon tutti i dati del sito web e del database MySQL.

Scopri di più!

Footer

HostingVirtuale

  • Registrazione domini
  • Web Hosting
  • Posta Elettronica Certificata
  • Cloud server
  • Server dedicati
  • Virtual Private Server
  • Hosting reseller
  • Sicurezza siti web
  • Cloud Backup

Tag Cloud

app backup business cloud content marketing domini ecommerce email email marketing facebook freelance google grafica hosting condiviso hosting gratuito hostinterview inbound marketing infografica instagram intelligenza artificiale joomla malware mobile news pannello clienti pec personal branding pinterest plugin prestashop project management sconti seo server sicurezza smart working storytelling telegram tools tutorial twitter video marketing vps wordpress youtube

Articoli recenti

  • Come usare Chat GPT per il tuo blog
  • I trend di web design per il 2023
  • Chat GPT: cos’è e a cosa serve
  • I plugin WordPress per la sicurezza del tuo sito web
  • Il design dei siti web per la Generazione Z

© 2023 All Rights Reserved Hosting Virtuale srl Chieti Pescara Roma Partita IVA IT02586030690