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).
Pingback: How to install Web Application Stress Tool (WAST) (homer) on Windows 7
Pingback: Weitere Apache-Probleme nach dem Umzug: Apache für Wordpress und begrenzten Speicher konfigurieren « Wissenswertes
Pingback: Microsoft Web Application Stress Tool