Visualizzazione risultati 1 fino 5 di 5

Discussione: Differenza nel calcolo spazio database

  1. #1
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito Differenza nel calcolo spazio database

    Buonasera, di recente ho notato che stavo avendo problemi di spazio esaurito a causa del database MySQL.

    Però ricontrollando dal pannello AV lo spazio occupato dal database (la barra arancione) è pari a 2,2 GB mentre phpMyAdmin calcola che il database ha 966 MB dati + 236 MB indici per un totale di 1,2 GB.

    C'è una differenza di 1 GB esatto che non so spiegare.

    Premere "Ricalcola spazio occupato" non cambia il risultato e i backup automatici non hanno una dimensione.
    Anche il dump del database importato localmente non arriva a quelle dimensioni.

    Per caso viene conteggiato anche la dimensione del binlog del server MySQL 8? La variabile max_binlog_size è esattamente pari a 1 GB e il motore InnoDB è attivo.

    Grazie a chiunque riesca a risolvere questo mistero
    Dal server 5 con amore

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,752

    Predefinito

    Lo spazio fisico consumato dal database è 2,2 GB, quindi il conteggio è corretto e non comprende il binlog.

    Non sappiamo la motivazione del perché phpMyAdminn lo calcola diversamente, ma mi hanno confermato che il calcolo è corretto.

    Visto che hai problemi di spazio ed hai un account iscritto molto tempo fa, hai nel tempo ampliato gratuitamente lo spazio? Attualmente puoi espanderlo (gratuitamente) fino 3GB, un tempo gli account avevano meno spazio.

    Ciao!
    Ciao!

  3. #3
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Lo spazio fisico consumato dal database è 2,2 GB, quindi il conteggio è corretto e non comprende il binlog.

    Non sappiamo la motivazione del perché phpMyAdminn lo calcola diversamente, ma mi hanno confermato che il calcolo è corretto.
    Ho controllato e in pratica phpMyAdmin fa una query simile a questa:

    SELECT table_schema, SUM(data_length + index_length) size
    FROM information_schema.tables
    GROUP BY table_schema;
    Il risultato restituisce il numero in bytes equivalenti a 1,2 GB.

    Ho provato la stessa cosa con il mio server locale (dove ho i permessi di root) e il numero restituito da phpMyAdmin è vicinissimo a quello che occupano i database nelle cartelle /var/lib/mysql dentro il server.

    A questo punto ho fatto una prova su Altervista e ho copiato una tabella di 100 MB per vedere come si aggiornava lo spazio calcolato:

    1. Lo spazio libero si è ridotto di 100 MB aumentando l'occupazione dei file (ma non era il database?)
    2. Cancellando la tabella lo spazio libero è aumentato di 100 MB tornando alla situazione iniziale


    Quindi probabilmente non è un calcolo errato della dimensione delle tabelle, ma qualcosa di invisibile nel database che il mio utente non ha i permessi per vedere. E se fosse così, anche cancellando tutto lo spazio occupato non tornerebbe a 0...

    Se lo spazio fisico utilizzato è effettivamente 2,2 GB da cosa è occupato per 1 GB?


    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Visto che hai problemi di spazio ed hai un account iscritto molto tempo fa, hai nel tempo ampliato gratuitamente lo spazio? Attualmente puoi espanderlo (gratuitamente) fino 3GB, un tempo gli account avevano meno spazio.
    Si, l'aggiornamento è stato fatto nel 2016 ma sono stato costretto ad aumentare a 4GB per evitare disservizi
    Dal server 5 con amore

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,752

    Predefinito

    C'era un problema di attribuzione allo spazio dei file invece che allo spazio del database ma è stato risolto, inoltre veniva corretto al prossimo login.

    Tornando al problema della dimensione, sul pannello viene indicata la dimensione fisica. PhpMyAdmin indica invece probabilmente la dimensione dei dati, che non è necessariamente uguale allo spazio fisico occupato dalle tabelle.

    Ciao!

  5. #5
    pokestudio non è connesso Altervistiano Junior
    Data registrazione
    16-01-2004
    Residenza
    127.0.0.1
    Messaggi
    547

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Tornando al problema della dimensione, sul pannello viene indicata la dimensione fisica. PhpMyAdmin indica invece probabilmente la dimensione dei dati, che non è necessariamente uguale allo spazio fisico occupato dalle tabelle.

    Ciao!
    Ho fatto varie indagini basandomi su questa risposta.

    Per prima cosa ho rigenerato le tabelle secondo il manuale mysql, utilizzando REPAIR TABLE per MyISAM e ALTER TABLE per InnoDB.
    Lo spazio riportato dal pannello è adesso 2 GB.

    Ho fatto il dump del database e importato tutto in un'istanza locale di MySQL 8.
    Misurando lo spazio fisico occupato dai database con il comando
    du -h /var/lib/mysql/*
    riporta effettivamente 2.0 GB come su Altervista.

    Quindi dov'era il problema?
    MySQL non riporta correttamente la dimensione delle tabelle InnoDB e il modo per verificare lo spazio fisico delle singole tabelle non è disponibile su Altervista:
    SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLESPACES
    Ecco svelato il mistero.
    Grazie per l'indizio
    Dal server 5 con amore

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •