"URGENTE" - Query Drupal: Ho bisogno di ottimizzare/sistemare gli indici, ottimizzare le query di drupal

9 contenuti / 0 new
Ultimo contenuto
"URGENTE" - Query Drupal: Ho bisogno di ottimizzare/sistemare gli indici, ottimizzare le query di drupal

C'è un modo per ottimizzare le query di drupal, gestire meglio gli indici del db mysql?

I siti web sono relativamente grossi, non riesco a gestire le query.

Se potete aiutarmi, per cortesia fatelo.
Se non potete farlo, indicatemi chi può farlo.

Ho bisogno d'aiuto.

Scusa cosa intendi dire con "i siti web sono relativamente grossi"? parli dei DB MySQL? Cioè non riesco a capire cosa vuol dire che non riesci a gestire le query... perchè dovresti farlo tu? Non ho molta esperienza, magari se capisco meglio ti posso dare qualche suggerimento...

I DB MySQL sono grossi e continuano a crescere ed alcune query sono troppo pesati ed io ho bisogno di ottimizzarle se voglio andare avanti. Altrimenti chiudo i battenti.

Sai anche quali sono le query di cui parli?

Per quanto no so io, le tabelle *cache* possono raggiungere parecchi mega di spazio e contengono dati sicuramente non vitali. Quelle puoi pulirle dal pannello di drupal...

@jscm
Ciao ti posto quello che ho già consigliato in altri post in modo che altri ne possono prendere spunto, visto che questo sito è ben indicizzato sui motori di ricerca e non trovo utile darti un link e via. Le opzioni che puoi adottare sono:

  1. Istallare il modulo db_maintenance-6.x-1.2.tar.gz
  2. Istallare il modulo session_expire-6.x-1.0.tar.gz e e session_limit-6.x-2.1.tar.gz configurarli come meglio credi
  3. Impostare la performance cache in admin/settings/performance (leggi bene le descrizioni della pagina che sono esaurienti)
  4. Disistallare da Amministrazione > Costrizione del sito > Moduli togliendo la spunda da Syslog e Database logging poi Salva configurazione
  5. Impostare il settings.php in questo modo alla riga 138 (il backup è in default.settings.php):

ini_set('arg_separator.output', '&');
ini_set('magic_quotes_runtime', 0);
ini_set('magic_quotes_sybase', 0);
ini_set('session.cache_expire', 86400); //scadenza della sessione in secondi 60*60*24 = 1 giorno
ini_set('session.cache_limiter', 'none');
ini_set('session.cookie_lifetime', 86400); //Utente non registrato dopo la chiusura del browser, forse non in ff
ini_set('session.gc_maxlifetime', 86400);
ini_set('session.save_handler', 'user'); // manipolazione Usa sessione definita dall'utente.
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0); // Non utilizzare le sessioni di URL-based.
ini_set('url_rewriter.tags', '');

Ciao, alcune cose non mi sono proprio chiare.

Quote:
# Istallare il modulo db_maintenance-6.x-1.2.tar.gz

Questo modulo non mi è necessario l'ho già disabilitato diverso tempo fa, in favore di uno scritpt in crontab appositamente realizzato per ottimizzare le tabelle di tutti i DB una volta al giorno.

Quote:
# Istallare il modulo session_expire-6.x-1.0.tar.gz e e session_limit-6.x-2.1.tar.gz configurarli come meglio credi

Questi moduli non li conosco, preferisco evitare di installare nuovi moduli (non realmente necessari), ma do un'occhiata.

Quote:
# Impostare la performance cache in admin/settings/performance (leggi bene le descrizioni della pagina che sono esaurienti)

io vorrei svuotare la cache, ma non posso impostare un tempo lungo, perchè trattandosi di blog arrivano nuovi content ogni momento. Potrei impostare di svuotare la cache ogni 10min. Al momento non è settato un tempo x svuotarla.

Quote:
# Disistallare da Amministrazione > Costrizione del sito > Moduli togliendo la spunda da Syslog e Database logging poi Salva configurazione

Questo non l'ho mai fatto, ma cos'ha che non va il syslog? tante volte sono utili i log. Hai da proporre un'alternativa per tracciare i log che sia magari esterna a drupal?

Qui invece ho capito solo in parte, nel senso che mi pare che influisca solo fino ad un certo punto sulle performance delle query di indicizzazione e di caching, che sono quelle, soprattutto le prime, a dare problemi anche solo le imposti a 100 nodi x cron.

Quote:
ini_set('arg_separator.output', '&');
ini_set('magic_quotes_runtime', 0);
ini_set('magic_quotes_sybase', 0);
ini_set('session.cache_expire', 86400); //scadenza della sessione in secondi 60*60*24 = 1 giorno
ini_set('session.cache_limiter', 'none');
ini_set('session.cookie_lifetime', 86400); //Utente non registrato dopo la chiusura del browser, forse non in ff
ini_set('session.gc_maxlifetime', 86400);
ini_set('session.save_handler', 'user'); // manipolazione Usa sessione definita dall'utente.
ini_set('session.use_only_cookies', 1);
ini_set('session.use_trans_sid', 0); // Non utilizzare le sessioni di URL-based.
ini_set('url_rewriter.tags', '');

queste query mi hanno stancanto.

SELECT t.word AS realword, i.word FROM search_total t LEFT JOIN search_index i ON t.word = i.word WHERE i.word IS NULL

Come devo fare ad ottimizzarle ed ottimizzare gli indici di questo CMS? Può mai essere che Drupal non preveda query performanti ed ottimizzate?!... Ma daiiii!!!

Può mai essere che drupal vada bene solo x i sitarelli e non per i siti grossi?!
Così NON si può lavorare!

Ciao ho trovato delle nuove informazioni molto importanti ed illuminanti per la risoluzione di questo problema.

Segui i link in questo commento:
http://www.drupalitalia.org/node/13477#comment-47441