--------------------------------------------------------
weebies - La lista su Web Design
e Web Development
http://www.weebies.com
Attualmente gli iscritti a Weebies sono 1050
30-10-00 **1** nuova inserzione di recruitment pubblicata sul sito di
weebies
<http://www.weebies.com/weebies2/elenco.asp>
--------------------------------------------------------
From: "Davide" <[EMAIL PROTECTED]>
Date: Tue, 7 Nov 2000 22:00:27 +0100
[...]
Certo qualche societa' potrebbe anche testare un certo sito su
diverse configurazioni, ma credo che il prezzo di un servizio del genere
sarebbe sostenibile solo da grandi societa' che basano tutto sul web.
Il mio obiettivo era quello di capire se e' possibile stabilire all'incirca
la scalabilita' del proprio sito.
L'utilizzo del DB o di ASP/PHP ha veramente impatto sull'occupazione
della banda? O semplicemente viene sputato fuori un risultato in HTML
comparabile ad una semplice pagina HTML.
Una differenza posso vederla nel caso di utilizzo di tecnologie streaming
o di flash, ma penso si possa parametrizzare... (o no... ;-) )
Chiedo a tutti:
Quali sono le variabili che si saturano e determinano l'inchiodamento del
sito?
Direi innanzitutto la qualit� dei programmi server-side.
Poi se la parte server side � ben studiata e correttamente dimensionata, il sito non
deve inchiodarsi.
Ovviamente se il sito � inizialmente dimensionato per svolgere un certo carico di
lavoro e dopo un certo tempo il carico a cui � sottoposto ha superato la sua
capacit�, questo problema pu� presentarsi.
Se il progetto � stato realizzato in modo scalabile all'occorrenza � sufficiente
aumentare le risorse disponibili, modificare qualche file di configurazione (magari
anche al volo) ed il sistema tiene.
Banda, Processori, .... ?
Da quali assunzioni partiamo?
Quale sistema operativo (OS)?
Quale architettura con che configurazione?
Un server HTTP puro ed un application server su un'altra macchina?
Oppure application server e http server sulla stessa?
Il DB lo tieni dove?
Quale RDBMS?
Quanta banda hai a disposizione dal carrier? Quanta � garantita?
Quanto pesa in media l'home page, quanto le altre pagine?
I dati in ingresso, in caso di form multipagine, li mandi avanti ed indietro dal
server al client e viceversa fino al loro completamento?
Quale linguaggio di script � usato?
Quali sono i dati statistici di durata e percorso della visita media dell'utente sul
sito?
E lo scarto quadratico medio?
Ad esempio, l'OS influisce non poco sulla disponibilit� effettiva di memoria
(fisica+virtuale), sull'efficienza di creazione di nuovi processi all'uopo per gestire
l'incremento di richieste, sull'occupazione di CPU per lo stack TCP e per le politiche
di chiusura dei processi (quando non servono pi�).
Ma tanti altri fattori entrano in gioco e sono giunto alla conclusione che senza la
conoscenza specifica del problema non si possono fare congetture utili.
Un anno fa' sono stato interpellato da una societ� che avrebbe voluto pubblicare i
dati di borsa (6 piazze mondiali per 4 mercati ciascuno [azioni, futures, etc.]) in
tempo reale appena giunti dal satellite (darli disponibili aggiornati con soli 3
secondi di elaborazione).
Apparentemente un problema fin qui semplice, se non fosse che la prospettiva era di
avere nei momenti di punta migliaia di utenti simultanamente che effettuano ciascuno
3-4 richieste di aggiornamento al minuto.
Ricordo che quando mi hanno introdotto il discorso mi dissero di simulazioni gi�
fallite:
Il primo aveva pensato di buttato tutti i dati in un bel MS SQL server, ma nemmeno con
il doppio processore PIII e RAID SCSI era
riuscito a reggere il carico.
Un altro aveva tentato di tenere tutti i dati in arrivo in RAM,
in poco tempo la esaurivano e le procedure di gestione dei dati occupavano da sole
buona parte della CPU per cui
il server HTTP in sostanza non riusciva a servire i dati con il rischio di perdere la
consistenza degli stessi nelle fasi di aggiornamento.
In quel caso mi sono studiato tutte le informazioni che mi hanno saputo dare e
relative specifiche richieste, mi sono andato a cercare
algoritmi specifici per la gestione di quei dati,
ne ho calcolato la complessit� computazionale della combinazione di questi per
svolgere la funzione richiesta.
Infine abbiamo esaminato la banda richiesta sia per ricevere le richieste sia per
trasmettere le informazioni dal sito.
La soluzione tecnica � stata trovata distribuendo le funzioni su diverse macchine
utilizzando un software custom, ma senza la necessit� di
simulazioni la societ� in questione si � resa chiaramente conto che era fuori dal loro
budget.
Ovviamente avevo scartato subito l'idea di fornire i dati in HTML altrimenti sarebbe
servita una larghezza di banda in uscita da paura.
Ciao, \fer
http://www.diff.org/
--- weebies
**************************
CDM: ho ricevuto moltissime risposte alla domanda sul mailto.
Ringrazio tutti per i post. Come potrete vedere, ne ho pubblicato
solo alcuni, per evitare di inviare molti post quasi uguali e
ridondanti.
**************************