Web Application Stress Tool anche su XP

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:

  1. Eseguire dcomcnfg.exe
  2. Visualizzare le Proprietà di Servizi Componenti – Computer – Risorse Computer
  3. Nel Tab Proprietà predefinite selezionare la casella Abilita servizi Internet COM in questo computer (che di default è deselezionato)
  4. 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
  5. 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

http://weblogs.asp.net/steveschofield/archive/2007/03/10/iis7-post-32-web-application-stress-tool-on-vista.aspx

– 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).

Questa voce è stata pubblicata in Software, Web e contrassegnata con , , . Contrassegna il permalink.

7 risposte a Web Application Stress Tool anche su XP

  1. Pingback: How to install Web Application Stress Tool (WAST) (homer) on Windows 7

  2. Pingback: Weitere Apache-Probleme nach dem Umzug: Apache für Wordpress und begrenzten Speicher konfigurieren « Wissenswertes

  3. Pingback: Microsoft Web Application Stress Tool

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *


*