Il Sito d'Italia - Un network con Drupal

25 contenuti / 0 new
Ultimo contenuto
Il Sito d'Italia - Un network con Drupal

Ciao a tutti,
vi volevo segnalare il network di quotidiani d'informazione realizzato tutto con un'unica installazione di drupal senza usare il multisite.
http://www.ilsitoditalia.it è il portale nazionale e poi a scendere ci sono le redazioni locali indipendenti:
www.ilsitodifirenze.it www.ilsitodiprato.it etc. etc.
come sistema lo trovo abbastanza interessante ma ora che cresce ci sono problemi di performance da ottimizzare

interessante tutti e 3 i progetti, sarebbe ancor più interessante capire com'è stato realizzato appunto senza il "multi site"...

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

con un po' di "hacking" sul codice, ma nemmeno molto.
1. in templates.php elaboro il dominio e da quello ricavo la variabile portale che poi uso nel codice per personalizzare header e logo
2. le viste e i blocchi fanno controlli php sull'url e ricavano la variabile andandola a confrontare con il termine del vocabolario città associato ai vari contenuti.
3. le pubblicità sono gestite con un adserver esterno, quindi il codice è uguale per tutti e ci pensa l'adserver a scegliere quella giusta (scaricando per altro un po' i tempi di caricamento.. essendo chiamate js appaiono a pagina caricata che non è poco)
4. alcuni moduli purtroppo vanno forzati a mano nelle query per gestire il discorso della tassonomia perchè non lo prevedono di default.

Così ho un unico template da gestire e non impazzisco.

ora però che comincio ad avere visite ho problemi di prestazioni

cosmy wrote:
ora però che comincio ad avere visite ho problemi di prestazioni

Hai già provato ad abilitare la cache nelle viste? È molto utile.

ciao!

se abilito la cache delle viste queste non mi si aggiornano più in tempo reale e rischio che un aggiornamento esca fuori chissà quando..

potresti impostare il "Cron" ad intervalli abbstanza stretti, oppure impostare il cron ad ogni Nuovo Contnuto, ... così sai che il nuovo contenuto appena inserito sarà presente in cache.

Comunque preparati che senza Cache credo che consumerai un numero di risorse esagerato... su un numero elevato di visite.

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

Ok, mi avete convinto. :)
Ora mi spiego perchè nonostante un server intero a disposizione ieri nel momento di picco rallentava molto.
siccome non sono pratico della cache, non avendola mai usata, mi date una mano? Come faccio ad attivare lo svuotamento della cache per le viste ad ogni inserimento di nodo?

Giusto per capire l'ordine di grandezza:

  • quanti erano gli utenti contemporanei nel momento di picco?
  • quanti nodi hai?
  • quante viste?

Comunque nella vista puoi mettere una cache che scada in pochi minuti così riduci il problema dei mancati aggiornamenti.

Ci sono diversi modi per trattare la cache, un sistema molto semplice è: http://drupal.org/project/cache_actions + http://drupal.org/project/rules

Ciao cosmy,
devo implementare una cosa simile e fino ad adesso sono riuscito a fare tutto con il modulo spaces, tu l'hai provato? Ho fatto uno space per ogni dominio e lui si gestisce gli override delle variabili su ciascun sito. Sei poi riuscito a risolvere i problemi di lentezza?

Grazie
Luca

giusto per curiosità quante visite fai sul network?

in #bo_container aggiungici un margin: 0 auto
Non sopporto proprio la vista di un sito del genere allineata a sinistra e caso mai aggiungici pure l'ombra sul bordo sx come a dx.
Per la velocità prova con moduli tipo boost e a ottimizzare il server, alleggerisci il template, alleggerisci il peso di tutte le immagini leva il codice superfluo

ealmuno wrote:
in #bo_container aggiungici un margin: 0 auto
Non sopporto proprio la vista di un sito del genere allineata a sinistra e caso mai aggiungici pure l'ombra sul bordo sx come a dx.

Concordo esteticamente è molto meglio, oltretutto (ho appena provato con firebug) l'ombra a sinistra c'è già e crea un bell'effetto.

si l'effetto è bello in ogni caso ma o si modifica per dare l'effetto 3d o si fa uguale

andiamo con ordine.
Le viste in totale sono 25, destinate ad aumentare con sviluppi futuri.
I nodi già 1250.
Le visite considerando che per ora abbiamo solo 3 portali a regime da pochi giorni e manca tutta italia in pratica... sono 2700.
Il che mi fa molto preoccupare per il futuro.
Nel momento di picco saranno state più di 100 sicuramente contemporaneamente. Abbiamo lanciato una notizia esclusiva su Renzi ripresa da tutti i quotidiani.

Non conosco il modulo Spaces, ma meno roba carico meglio è.. penso gestendo le variabili così sia più veloce, no?
Idem per il modulo boost.. non vorrei che cominciasse a comportarsi in maniera strana.

Sull'allineamento centrale potrei anche darti ragione, ma stavo pensando di sfruttare la parte di destra vuota per pubblicità animate in flash un domani.
Cmq per ora posso farlo, perchè no..

Le immagini non posso alleggerirle, sono fondamentali. Già così fanno abbastanza schifo (sono all'80% della qualità originale con imagecache)

Se hai avuto rallentamenti con solo 100 utenti contemporanei e poco più di mille nodi... beh, c'è qualcosa che non va. Controlla di non avere codice e/o moduli superflui, ottimizza i template e verifica che la configurazione del server sia adeguata.

Quote:
2. le viste e i blocchi fanno controlli php sull'url e ricavano la variabile andandola a confrontare con il termine del vocabolario città associato ai vari contenuti.

Quote:
4. alcuni moduli purtroppo vanno forzati a mano nelle query per gestire il discorso della tassonomia perchè non lo prevedono di default.

Attenzione a non aver introdotto rallentamenti con queste procedure, query non ottimizzate ecc...

i banner solitamente si mettono a sinistra e destra del template, io qui ho un 19 pollici e uno 24, ti posso dire che vedere un sito del genere allineato a sinistra fa voglia di andarsene, e la pubblicità come la piazzi, di 2000px per i monitor grandi, con la posizione centrale decidi la posizione e le dimensioni e basta.

Originale, fuori dal solito schema, e la pubblicità a lato lato: meglio, perchè rompe di meno.

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

La pubblicità rompe sempre, se erano tutti contenuti era meglio. Peccato che fuori dallo schema si possa dire per un design originale ma non per un sito poco navigabile. Con uno schermo a 29 pollici diventi pazzo ad usarlo considerando che stai al centro dello schermo e che per navigare devi concentrarti solo sulla parte sinistra. L'originalità non la vedo, 10 anni fa i siti erano così, se le cose sono cambiate un motivo ci sarà!

Confrontarsi è sempre positivo perchè si imparano cose o si riflette sulle scelte
Ho seguito il vostro consiglio e ho allineato il contenitore al centro.
Alla fine ho fatto una riflessione e la pubblicità non sarà mai in quantità così grandi (poca e ben pagata per periodi limitati, rispetto a una collezione di banner) da aver bisogno di spazi aggiuntivi.

Il problema di prestazioni c'è, altrimenti non mi sarei posto il dubbio, soprattutto in prospettiva.
I rallentamenti registrati non erano critici ma pur sempre percettibili, e sono comunque legati anche alla macchina.
Si tratta di una macchina da 1Gb di ram con diversi siti onerosi al suo interno (tra cui vi segnalo un altro fatto in drupal www.serieadilettanti.it) con un ping di base registrato in quella fase di 250.00 ms.
Il codice va ripulito.. c'è un overhead soprattutto nelle classi e nel css che andrà semplificato, ma quanto mai vuoi risparmiare?
Il vero problema è di caching evidentemente, come avete sottolineato e ora approfondirò i link.
Se la cosa cresce (io punto in alto.. la concorrenza sono repubblica e corriere :P ) andranno studiate soluzioni architetturali, non solo di moduli o ottimizzazione codice.
Per il momento ho installato l'APC, ma così a percezione mia non vedo grandi cambiamenti, forse si nota con tante richieste contemporaneamente. Dovrei trovare dei metodi di misurazione assoluti delle prestazioni.

1 gb è un po' pochino, tranquillo che risparmi, quei pochi b per 100 di utenti diventano k, e molte volte sono fatali.

ti consiglio di "togliere" la lgica dalla parte di presentazione (quindi via tutti i controlli sul dominio a livello di template.php) e di utilizzare moduli appositi (vedi per esempio domain).

Ciao
Marco
--
My blog
Working at @agavee

Sto ripulendo il codice e comprimerò i javascripts e i css togliendo gli spazi così dovrei aver un buon incremento di velocità. Già il fatto di aver spostato tutti i JS in coda alla pagina ha cambiato molto le cose.
Rimane un tempo di accesso iniziale comunque legato al fatto che il server sta in america.. mi devo cercare qualcosa qui in Italia con più Ram.

L'unica cosa è che ho provato il modulo Boost e aprendo tre pagine mi è andato in palla il server: ha iniziato a swappare ed il numero di query è schizzato alle stelle, il database mi diceva too many connections (ma credo legato al fatto che si era prosciugata la ram e lo swap e quindi non scriveva più nella socket) e mi è entrato il sito automaticamente in manutenzione per mancanza di connettività col DB. Molto strano come comportamento quindi per il momento vado solo di caching di sistema in modalità aggressiva.

Mentre l'invio delle pagine compresso mi hanno sconsigliato di farlo.

Inoltre penso che dovrò lavorare sulle url dei link, perchè nonostante ci sia un controllo ad inizio pagina che fa il redirect sul giusto dominio se tassonomia e dominio del nodo non corrispondono, per i motori di ricerca sarebbe più indicato che trovassero già il link corretto.

Mentre per la sitemap e il blocco tagadelic sono ancora in alto mare, in quanto non riesco a filtrare i contenuti per ogni portale.

@mavimo, dici che influenzi le prestazioni?
Template.php mi pare curi la logica più che la presentazione, visto che lavora sulle variabili e sul codice, o comunque in drupal la distinzione tra controller, presentation e model non mi pare molto marcata.

Mah .. ognuno ha i suoi gusti, che ti devo di: a volte mi colpisce di più un'auto d'epoca che certi scarcassoni_baracconi di oggi, tutta-plastica e ammennicoli inutili.

L'originalità porta Distinzione dai troppi e a qualcuno ha portato fortuna, anche perchè le solite cose sempre uguali.. alla fine stufano.
Perfette o meno che possano essere.

Per la pubblicità : io penso che più stà sul lato a destra dello schermo è meglio è per tutti.
Il mio amico Google spesso fà cosi con i suoi Ad. è una ragione di sicuro c'è.. (studio di impatto visivo, zone calde e fredde di attenzione del visitatore, zone d'ombra dello schermo, ecc. ecc.).

Ognuno cmq ha le sue tecniche e sistemi (..e anche i suoi Gusti)

Lavatrice ad ultrasuoni
Sito http://www.ultrasuoni.net > Client service and contacts: [email protected]

Un sito di notizie che vuole vendere pubblicità a prezzi alti le pubblicità le deve mettere sopra i contenuti che si tolgono cliccando su chiudi o dopo un tot di secondi.
Il resto della pubblicità deve essere poca e ben posizionata.
Le file di banner infinite abbassano l'appetibilità del sito, sia ai visitatori che agli sponsor. Quindi quei pochi che inserisci dovrebbero essere ben miscelati con la navigazione (non guardare i miei.. sono buttati un po' a casaccio per ora, finchè non ho una versione del sito che giri a regime senza rimetterci le mani)