Un hack : come attivare tutte le funzionalità di WAST su XP e Vista
Sviluppare ed implementare un sito o un’applicazione web è un processo creativo che può essere più o meno interessante e quindi più o meno divertente…
E quando finisce il divertimento cominciano i grattacapi! Sicuramente qualcuno nel management o il cliente che ha commissionato il progetto o forse noi stessi vorremmo conoscere quantitativamente le sue prestazioni, in termini di tempi di risposta in funzione del numero di utenti.
Infine potremo arrivare a determinare la capacità del sito, ovvero il numero massimo di richieste/sec aventi tempi di risposta decenti (ovvero prima il numero di utenti appena prima del degrado/collasso del sistema)

Quindi dopo aver sviluppato e pubblicato un sito o una web application conviene affrontare l’annoso problema dei test di carico e della simulazione realistica delle navigazioni degli utenti per:
- vedere come si comporta il sistema
- se sussitono colli di bottiglia, aree o sottosistemi dove è possibile ottimizzare qualcosa
- dove è meglio iniziare ad effettuare il cosiddetto tuning.
Allo scopo si possono trovare vari tools commerciali e opensource.
E’ possibile trovare una lista abbastanza esaustiva dei software all’url http://www.softwareqatest.com/qatweb1.html.
Nell’ultima esperienza personale, non avendo (mai) molto tempo a disposizione mi sono concentrato su alcuni software grafici e interfacciabili con i sistemi Windows Server:
- l’ottimo ma assi costoso Neoload, che permette di controllare e verificare graficamente tutte le fasi del processo dal design alla fase di test e l’analisi dei risultati
- gratuitamente in casa Microsoft si trovano WCAT (Web Capacity Analysis Tool), largamente programmabile ma solo tramite script,
e WAST (Web Application Stress Tool – Homer ), il ben noto ma vetusto tool grafico.
WAST (o WAS) è uno strumento di simulazione e di carico sviluppato e rilasciato molti anni or sono da Microsoft, ma è un piccolo gioiellino, poichè permette di controllare e verificare graficamente tutte le fasi del processodi test:
- la registrazione visuale della navigazione effettuata con il browser
- la creazione dei profili delle pagine di test
- la definizione degli utenti
- la distribuzione delle tipologie di test
- la definizione del pool di macchine che partecipano al test di carico
- la definizione dei contatori (performance counter) delle macchine oggetto di test
- la gestione del test vero e proprio, ovvero lo stress del sito o dell’applicazione web
- la collezione e l’elaborazione dei risultati, anche se in forma testuale.
Purtroppo WAST è supportato ufficialmente solo su Microsoft Windows NT 4.0 SP 4+ e Microsoft Windows 2000, sistemi operativi che ormai non esistono (quasi) più negli ambiti di produzione.
L’installazione su Windows XP và praticamente sempre a buon fine, ed eseguendo WAST si possono sperimentare da subito le varie funzionalità tranne due:
- non funzionano performance counter
- non funziona la comunicazione con i client del pool
Su Windows Vista invece si ottiene da subito un errore (Steve Schofield Weblog – WAST on Vista ), ma basta caricare il file msvcp50.DLL in c:\windows\system32 (poiché non è compreso di default nel SO).
Vista l’indubbia utilità dell’applicazione, mi sono intestardito nel far funzionare WAST anche sui SO più recenti…e alla fine, dopo un po’ di analisi e troubleshooting ci sono riuscito.
Performance counters
Per far funzionare la finestra di ricerca e di aggiunta dei performance counters delle macchine remote, nonchè il polling dei valori a runtime, basta copiare nella directory del programma il file pdh.dll, che si trova nella distribuzione di Windows 2000, e che è infatti la libreria che contiene le funzioni per i contatori.
Sicuramente WAS è stato compilato nel 2000 utilizzando quella versione di libreria (5.0.2174.1), mentre su XP c’e’ quella nuova (5.1.2600.3536)
Clients
Bisogna tenere presente che WAST è un tool client/server: l’interfaccia client (hclient.exe) colloquia localmente e/o remotamente (con tecnologia DCOM) con un windows service (webtool.exe); inoltre i dati sono resi persistenti su un database access.
Per far funzionare la comunicazione con i client definiti nel pool bisogna quindi “giocare” con i pemessi DCOM (dcomcnfg.exe).
Si deve ricordare inoltre che, la comunicazione ed in generale i sistemi Microsoft prima del SP2 di Windows XP non erano securizzati di default, e quindi, per far funzionare il nostro WAST su XP, bisogna “rilassare” un pochino la sicurezza.

Procedimento:
- Eseguire dcomcnfg.exe
- Visualizzare le Proprietà di Servizi Componenti – Computer – Risorse Computer
- Nel Tab Proprietà predefinite selezionare la casella Abilita servizi Internet COM in questo computer (che di default è deselezionato)
- Nel Tab Protezione COM: Modificare i Limiti delle autorizzazioni di accesso abilitare per l’ACCESSO ANONIMO l’accesso remoto;
Modificare i Limiti delle autorizzazioni di esecuzione e attivazione abilitare per Everyone l’avvio remoto e l’attivazione remota - Entrare nel dettaglio dei componenti DCOM e aprire le Proprietà di “WebTool”: personalizzare eventualmente le ACL in modo tale che Everyone possa avviare ed attivare remotamente il componente
E il gioco è fatto! Provare per credere…
Risorse
- Dll aggiuntive per WAST su XP
- Web Application Stress Tool (compressed with 7zip)
- DCOM Settings for WAST on XP
Riferimenti
- How To Install and Use the Web Application Stress (WAS) Tool
http://support.microsoft.com/kb/313559/en-us
- Introducing Microsoft Web Application Stress Tool (BY Jigesh Shah)
http://www1bpt.bridgeport.edu/sed/projects/cs597/Fall_2002/jishah/web_application_stress.htm
- Load Testing Web Applications using Microsoft’s Web Application Stress Tool (By Rick Strahl)
http://www.code-magazine.com/article.aspx?quickid=0001091&page=1
- Download Microsoft Web Application Stress Tool – Homer:
http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1298
- Steve Schofield Weblog – WAST on Vista
- Recentemente c’e’ stato qualche problema a reperire WAST sul sito Microsoft download, per cui allego il setup, almeno finchè rimarrano tali problemi. ( N.B. nel caso ci fossero problemi di decompressione è stato compresso con 7zip).


Dear Mauro Dalfreddo ,
Thanks for nice article, this is really useful for kick start Web Application Stress Tool usage, Unfortunately i could not find this tool in internet, this is to request you send WAST to my mail id.
Appriciate you help.
Thanks and best regards,
Murali
Hi,
you can find WAST setup in my article page at the “Risorse” (= Resources) paragraph or directly with this link (is very hard compressed; please use 7zip to decompress).
Best regards
Your place is valueble for me. Thanks!…