Newsgroup: it.comp.www.asp
Titolo: Come testare il sito ?

come da oggetto, in particolare come stressare pesantemente il sistema ?
Vorrei simulare un centinaio di accessi contemporanei ma non ho idea di come
fare.
Ciao Marco.

 idea di come fare.
O usi un centinaio di computer diversi o usi un programma che apre
connessioni multiple (e te lo fai ovviamente il programma).
Davide


Moderatore di it.comp.www.asp
Sito di supporto: 
http://www.aspitalia.com/newsgroup/
La più grande community italiana di sviluppatori!

Sul sito microsoft trovi alcuni tool per stressare i siti web, ma li trovi
anche di terze parti molto validi.
Saluti
--
Lino Mari
Intermedia srl
http://www.viadeimercanti.com
http://www.intermedia2000.com

Puoi ad esempio usare uno di quei programmini per "scaricarsi" i siti, come
Offline Explorer, da 
http://www.metaproducts.com/
L'ideale sarebbe poterlo lanciare da un altro computer in rete, altrimenti
al carico del server si somma il carico del software.
E' anche comodo, disattivando i suoi cookies,  per verificare quali effetti
collaterali si hanno quando un utente ha disattivato i cookies e quindi ci
può creare un'enormità di sessioni inutili.

 Offline Explorer, da 
http://www.metaproducts.com/
ho trovato pure questo
http://www.postpointsoft.com/home/xtune_license_application_form_for_xtune.h
tm
che aiuta ad ottimizzare anche IIS (sia 4 che 5).
poi ne facciamo una bella lista 8-)


 --
A questo punto, avendo sperimentato spesso questo tipo di test, domando:
Quante connessioni ASP contemporanee esegue IIS per ogni utente( PC o
sessione)?
Sembra strano, ma mi sembra solo una alla volta. Sbaglio?
Paolo

 Sembra strano, ma mi sembra solo una alla volta. Sbaglio?
per connessioni cosa intendi?


> per connessioni cosa intendi?
Per connnessioni intengo quante richieste contemporanee il server è in grado
di soddisfare per ogni utente.
L'uso delle sessioni influisce notevolmente sul modo di lavorare e sulle
prestazioni di una applicazione ASP, in quanto, per ogni sessione, IIS
elabora una pagina alla volta.
Quando sono abilitate le sessioni, il server elabora le pagine web richieste
attraverso
il "session tracking". Ovvero se il server riceve più richieste di documenti
da un client, le "serializza"
ovvero comincia ad eseguire la prima e mette in coda le altre, eseguendole
una per volta. D'altra parte è giusto: altrimenti per poter aggiornare in
contemporanea le variabili di sessione la M$ ci avrebbe fornito di metodi
Session.Lock, e Unlock, come per Application.
Non è un grosso problema quando un utente un "utente" richiede una pagina
alla volta e quindi
l'effetto non è evidente, ma nel caso di un sito gestito con i frames  le
pagine ASP dei vari frames, e queste, vengono restituite "una dopo
l'altra".
Per disattivare il session tracking per una singola pagina ASP, utile in
partiolare se questa richiede l'uso delle
sessioni , aggiungere <%@EnableSessionState=false%> all'inizio della pagina.
Su TechNet ho trovato un bel Seminario Online che illustra tecniche di
miglioramento della performance di IIS, tra cui questa e
tant'altro.
Grazie per l'attenzione.
Paolo
PS: Sotto segue la descrizione di un test fatto per verificare questi
concetti, e alcune osservazioni. Leggetelo se vi pare.
Per testare un'applicazione avevo usato un browser offline, in grado di
inoltrare contemporaneamente un numero elevato di richieste al server web.
Nel mio caso l'applicazione effettuava un certo numero di richieste HTTP
contemporanee,
navigando nel sito, sfruttando tutta l'ampiezza di banda disponibile. La
stessa poteva attivare o no dei cookies, in modo da simulare o un solo
utente "affamato" di pagine, o una moltitudine di utenti "anonimi".
nella finestra di log si poteva vedere in tempo reale "come" il server
rispondeva alle richieste.
Con pagine HTML, immagini, files ecc., IIS rispondeva contemporaneamente a
tutte
le richieste, entro i limiti impostati nel server.
Con le Pagine ASP la situazione era diversa:
Attivati i cookies, sul server si attivava una sola sessione da parte di un
solo utente che richiedeva "contemporaneamente" una serie di pagine. In tal
caso il server restituiva 1 pagina alla volta. Quindi in questo caso, anche
pur attivando 30 connessioni contemporanee, ma nella stessa sessione, era
erroneo pensare che quello fosse il comportamente dell sistema con 30
utenti.
Disattivando i cookies nello programma di test, ogni richiesta era vista da
IIS come una fatta da parte di un "nuovo" utente, e le richieste di decine
di pagine erano soddisfatte contemporaneamente. Con un brutto effetto
collaterale: dopo qualche minuto di test sul server si erano aperte
centinaia e centinaia di (inutili) sessioni. Dopo 3 minuti le sessioni
avevano
superato il migliaio!


dipende dal numero di thread che gestisce..
in generale mi sembra siano poche per ogni processore disponibile (meno di
dieci di sicuro), ma non vorrei siblanciarmi perhcè non ricordo i valori..
posto che lo puoi cambiare, ma è peggio..
le altre vanno in coda..