Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ottimizzare database mysql

3 views
Skip to first unread message

claretta

unread,
Jul 22, 2009, 4:19:49 AM7/22/09
to
Ciao,

volevo schedulare questo comando per ottimizzare i database del mio
serverino:

mysqlcheck -u root -p --auto-repair --check --optimize --all-databases

e volevo chiedervi se � meglio fermare il server web quando si lancia questo
comando o se si pu� lasciare tutto online senza problemi.

Grazie :-)

--
Claretta

Vide

unread,
Jul 22, 2009, 6:12:09 AM7/22/09
to
claretta wrote:

> volevo schedulare questo comando per ottimizzare i database del mio
> serverino:
>
> mysqlcheck -u root -p --auto-repair --check --optimize --all-databases

Se usi InnoDB non serve a molto, fa giusto ricalcolare qualche indice se
necessario.

--
Vide

Alessandro Selli

unread,
Jul 22, 2009, 7:12:20 AM7/22/09
to
claretta ha scritto:

> Ciao,
>
> volevo schedulare questo comando per ottimizzare i database del mio
> serverino:
>
> mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
>
> e volevo chiedervi se è meglio fermare il server web quando si lancia
> questo comando o se si può lasciare tutto online senza problemi.

Dipende da cosa temi: se è per questioni di prestazioni (server sotto
stress eccessivo) o per esaurimento della memoria (e possibile innesco
dell'OOM), allora potresti. Ma se temi invece che il web server e mysqld
si possano pestare i piedi a vicenza :-) puoi stare tranquilla. A
differenza di myisamchk, che pure fa più o meno la stessa cosa, mysqlcheck
è stato sviluppato apposta per poter lavorare con mysql attivo e, mentre
lavora, esegue un lock sulle tabelle che ha aperto. Dalla pagina di manuale:

Each table is locked and therefore unavailable to other
sessions while it is being processed.

Tuttavia, visto che usi anche lo switch --auto-repair, vale la pena
tenere in mente quanto è scritto nella pagina di manuale:

Caution
It is best to make a backup of a table before performing a table
repair operation; under some circumstances the operation might
cause data loss. Possible causes include but are not limited to
file system errors.


Ciao,


--
Alessandro Selli http://alessandro.route-add.net
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.
Chiave PGP/GPG: EC885A8B

signature.asc

claretta

unread,
Jul 22, 2009, 7:44:37 AM7/22/09
to

>"Alessandro Selli" <trap...@route-add.net> ha scritto nel messaggio
>news:7coagtF...@mid.individual.net...

Claretta ha scritto:


>> mysqlcheck -u root -p --auto-repair --check --optimize --all-databases

>> e volevo chiedervi se � meglio fermare il server web quando si lancia=
>> questo comando o se si pu� lasciare tutto online senza problemi.

>Dipende da cosa temi: se =E8 per questioni di prestazioni (server
>sottostress eccessivo) o per esaurimento della memoria (e possibile innesco

>dell'OOM), allora potresti. Ma se temi invece che i>l web server e

>mysqldsi possano pestare i piedi a vicenza :-) puoi stare tranquilla. A
>differenza di myisamchk, che pure fa pi=F9 o meno la stessa cosa,
>mysqlcheck =E8 stato sviluppato >apposta per poter lavorare con mysql

>attivo e, mentre lavora, esegue un lock sulle tabelle che ha aperto. Dalla
>pagina di manuale:
>
> Each table is locked and therefore unavailable to other sessions while it
> is being processed.
>
> Tuttavia, visto che usi anche lo switch --auto-repair, vale la pena

tenere in mente quanto � scritto nella pagina di manuale:


>
> Caution
> It is best to make a backup of a table before performing a table
> repair operation; under some circumstances the operation might
> cause data loss. Possible causes include but are not limited to
> file system errors.
>
> Ciao,

Grazie :-)

meglio allora solo:

mysqlcheck -u root -p --check --optimize --all-databases

per lo stress lo farei alle 6 del mattino, il severino a quell'ora quasi
dorme :-)

non di notte perch� fa altre cose (non va in discoteca, lavora lui!).

e se facessi:

nice -n20 mysqlcheck -u root -p --check --optimize --all-databases

d� meno stress?


Grazie :-)

--
Claretta


Alessandro Selli

unread,
Jul 22, 2009, 10:10:21 AM7/22/09
to
claretta ha scritto:

[...]

> (non va in discoteca, lavora lui!).

Dovo aver tolto il mestiere a tanti esseri umani, i computer finalmente
si ribelleranno e formeranno i loro sindacati!

> e se facessi:
>
> nice -n20 mysqlcheck -u root -p --check --optimize --all-databases
>

> dà meno stress?

Meno stress ai processi concorrenti (allo scheduler), si, ma non alla
RAM e ai dischi.
Per i secondi potresti aggiungere ionice -c 3, ma se sei sicura che il
comando sarà eseguito quando i serverino quasi dorme, puoi evitare tutte e
due i *nice. Dipende poi da quanto è grande la base di dati, ovviamente.

signature.asc

majale

unread,
Jul 22, 2009, 11:57:58 AM7/22/09
to
claretta wrote:

> Ciao,
>
> volevo schedulare questo comando per ottimizzare i database del mio
> serverino:
>
> mysqlcheck -u root -p --auto-repair --check --optimize --all-databases
>

> e volevo chiedervi se è meglio fermare il server web quando si lancia
> questo comando o se si può lasciare tutto online senza problemi.

e quanto pesa il database?

claretta

unread,
Jul 22, 2009, 12:36:59 PM7/22/09
to

"majale" <ssss...@ssssssss.org> ha scritto nel messaggio
news:aGG9m.41611$9f6....@twister1.libero.it...

circa 150 database con una media di 2 o 3 MByte ciascuno, qualcuno meno e
qualcuno di più, e un paio con 30/40MByte

--
Claretta

claretta

unread,
Jul 22, 2009, 4:58:45 PM7/22/09
to

"Alessandro Selli" <trap...@route-add.net> ha scritto nel messaggio
news:7cokuvF...@mid.individual.net...

>> e se facessi:
>>
>> nice -n20 mysqlcheck -u root -p --check --optimize --all-databases
>>
>> � meno stress?

> Meno stress ai processi concorrenti (allo scheduler), si, ma non alla
>RAM e ai dischi.
>Per i secondi potresti aggiungere ionice -c 3, ma se sei sicura che il

>comando sar� eseguito quando i serverino quasi dorme, puoi evitare tutte e
>due i *nice. Dipende poi da quanto � grande la base di dati, ovviamente.


Allora meglio ancora fare:

nice -n20 ionice -c3 mysqlcheck -u

root -p --check --optimize --all-databases

i database sono circa 150 con una media di 2 o 3 MByte ciascuno, qualcuno
meno e qualcuno di pi�, e un paio con 30/40MByte

--
Claretta


0 new messages