Metodologie di ottimizzazione e analisi prestazionale degli elaboratori



Documenti analoghi
Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Applicazione JobScheduler su DB SQL Milano, lì 14/09/2009

Calcolatori Elettronici A a.a. 2008/2009

Le Soluzioni Tango/04 per adempiere alla normativa sugli amministratori di sistema

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Gestione in qualità degli strumenti di misura

Note di rilascio. Aggiornamento disponibile tramite Live Update a partire dal. Il supporto per Windows XP e Office 2003 è terminato

Esempio: aggiungere j

Installazione e caratteristiche generali 1

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Il Sistema Operativo

List Suite 2.0. Sviluppo Software Il Telefono Sas 10/06/2010

Sistema Operativo di un Router (IOS Software)

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

- la possibilità di monitorare lo stato attuale della macchina - fornire una reportistica sulla base di alcune variabili

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

REQUISITI TECNICI HR INFINITY ZUCCHETTI

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

CORSO WET 462 Amministrazione di database SQL Server 2012

Esercitazione E1 Scheduling, deadlock, monitor

Linux nel calcolo distribuito

istraffic Sistema di monitoraggio Traffico

FAQ DI INSTALLAZIONE DI INAZIENDA Rev.2

Software per Helpdesk

Aggiungere le funzionalità ACN in Iatros

Il Sistema Operativo (1)

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

Per informazioni rivolgersi allo Studio:

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

NOME PROGETTO. DWH Map Creator DOCUMENTO EMESSO DA: DATA Fabio Calcopietro 14/11/2007 NOME HW SW MANAGER/

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

LSF. lab solution LOG SYSTEM FRAMEWORK. Pagina 1 di 14

Creazione di una Azure Web App

Soluzioni per ridurre i costi di stampa e migliorare i processi.

PIANO DI TUTELA DELLE ACQUE DELLA SICILIA (di cui all'art. 121 del Decreto Legislativo 3 aprile 2006, n 152)

iseries Monitoring By Tango04

Corso di Informatica

A"raverso) Neal) puoi) avere) il) controllo,) in) totale) sicurezza,) di) tu"e)le)enterprise)siebel)che)compongono)il)tuo)business.

BMSO1001. Virtual Configurator. Istruzioni d uso 02/10-01 PC

IRSplit. Istruzioni d uso 07/10-01 PC

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Laboratorio di Informatica

Trasformazione DB Access In SQL Server. Michele De Nittis

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

TERM TALK. software per la raccolta dati

WorkFLow (Gestione del flusso pratiche)

Caratteristiche di una LAN

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Ciclo di vita dimensionale

Guida all installazione di Easy

Supporto On Line Allegato FAQ

Note sul tema IT METERING. Newits 2010

Ottimizzazioni delle prestazioni di un Web server Ottimizzazioni delle prestazioni di un Web server

Mac Application Manager 1.3 (SOLO PER TIGER)

WINDOWS: Istruzioni per l uso

BLU.Energy Tecnologia & Servizi gestiti

SQL Server Express Edition è la novità di Visual Studio.Net versione di SQL Server che presenta la seguenti caratteristiche:

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

VMware. Gestione dello shutdown con UPS MetaSystem

MICHELANGELO REPORT è un

MIXER: gestione trasmissioni DJ: governance di MIXER

Non sono supportate reti peer to peer, è necessario avere un server dedicato.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

Approccio stratificato

Software di gestione della stampante

I see you. fill in the blanks. created by

Cosa è un foglio elettronico

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Meetecho s.r.l. Web Conferencing and Collaboration tools. Guida all installazione e all uso di Meetecho beta

Gestione eventi di sistema Gestire correttamente la diagnostica di Windows

Note Tecniche Installazione ed Aggiornamento EasyTelematico 1.3.x

SysAround S.r.l. L'efficacia delle vendite è l elemento centrale per favorire la crescita complessiva dell azienda.

Applicativo SBNWeb. Configurazione hardware e software di base di un server LINUX per gli applicativi SBNWeb e OPAC di POLO

OpenVAS - Open Source Vulnerability Scanner

Piano Nazionale di Formazione degli Insegnanti sulle Tecnologie dell'informazione e della Comunicazione. Percorso Formativo C1.

DMA Accesso Diretto alla Memoria

PAWSN. Wireless social networking

Gestione remota archivi cartelle sanitarie e di rischio informatizzate

introduzione introduzione soluzione acquisizione dati elaborazione e archiviazione dati interfaccia utente personalizzazioni

Scheda. Il CRM per la Gestione del Marketing. Accesso in tempo reale alle Informazioni di rilievo

Sistemi Operativi. Scheduling della CPU SCHEDULING DELLA CPU. Concetti di Base Criteri di Scheduling Algoritmi di Scheduling

Sistemi Operativi SCHEDULING DELLA CPU. Sistemi Operativi. D. Talia - UNICAL 5.1

Console di Monitoraggio Centralizzata

Valutazione assistita del rischio sismico a scala territoriale Valutazione della vulnerabilità e dell agibilità degli edifici Interazione con il

Il database management system Access

Il sistema C.R.M. / E.R.M.

GOW GESTIONE ORDINI WEB

Il Sistema Operativo. Di cosa parleremo? Come si esegue un programma. La nozione di processo. Il sistema operativo

Internet Access Monitor. Informazioni sul prodotto

Corso di Informatica

itime Chiaramente inclusa la stampa del cartellino presenze come previsto dalle normative

Transcript:

Metodologie di ottimizzazione e analisi prestazionale degli elaboratori Seminario del corso di Architettura degli elaboratori elettronici LABORATORIO UNIVERSITA CATTOLICA DI BRESCIA 23 novembre 2005 Roberto Pane Resp. Settore Sistemi Distribuiti e Sicurezza Logica Lombarda Sistemi e Servizi

Agenda Il laboratorio di oggi è organizzato nel seguente modo: Ripresa di alcuni temi già esposti nel seminario teorico» Metodologie di analisi prestazionali delle architetture (performance monitoring)» Esposizione del laboratorio e degli strumenti che saranno utilizzati zati nella sessione operativa Sessione di LABORATORIO:» Determinare la prestazione del sistema server al crescere della concorrenza degli utenti, monitorando su WAST e riportando su Excel l andamento dei tempi in funzione del carico simulato» Determinare il bottleneck provocato nei due scenari: (A) CPU Starvation (B) Memory leakage

Il concetto di performance Per performance si intende lo sfruttamento delle risorse della macchina m HW dalla macchina software (l applicazione di business) tramite l intermediazione l del sistema operativo. La performance ottimale è quella che, data l applicazione, l ottimizza l uso l dell hardware e che, data l applicazione, l le risorse hardware sono effettivamente atte a sopportarne il carico (vedi problema del dimensionamento). d Il processo di rilevazione ed ottimizzazione delle performance è sempre un attivit attività complessa in quanto deve tener conto dei seguenti aspetti: Architettura del sistema e tipologia del sistema Caratteristiche dell applicazione (Client( Client/Server, web, uso di basi dati, transazionalità distribuita) Caratteristiche della rete su cui viaggiano le informazioni Altre applicazioni che girano all interno della macchina

Casi critici per la performance Date le caratteristiche che sono in grado di influenzare fortemente le performance delle applicazioni ci sono alcuni casi che meritano un approfondimento in quanto sono tipologie standard in cui ricadono la maggior parte dei casi. Colli di bottiglia (Bottlenecks( Bottlenecks): si definisce collo di bottiglia una condizione in cui la limitazione di uno dei componenti (HW & SW) causa il rallentamento di tutti gli altri. Se il bottleneck non è identificato e risolto, il potenziamento di altri componenti non coinvolti nel bottleneck,, non migliorerà le prestazioni del sistema. Utilizzo della risorsa (utilization( utilization): anche se una risorsa fortemente utilizzata ha le caratteristiche per essere un bottleneck non è detto che lo sia fino a che non causa il non utilizzo di altre che sarebbero disponibili. Il 100% di utilizzo di una risorsa non è detto che causi un bottleneck e ci sono risorse con un grado di utilizzo inferiore al 100% che sono dei bottleneck. Code (queues): il bottleneck si evidenzia nel momento in cui si verificano degli accodamenti all interno del sistema o della risorsa insufficiente o mal utilizzata.

Strumenti di rilevazione Gli strumenti di rilevazione sono specifici del sistema operativo o utilizzato. Nel nostro caso useremo gli strumenti forniti all interno del sistema Microsoft Windows. PERFORMANCE MONITOR (PERFMON.EXE( PERFMON.EXE): è uno degli strumenti più utilizzati e consente un monitoraggio puntuale delle risorse HW e SW della macchina. Inoltre le applicazioni possono integrarsi con il performance monitor esponendo i relativi contatori. TASK MANAGER (TASKMGR.EXE( TASKMGR.EXE): è uno strumento rapido che consente un indagine veloce dello stato del sistema.

Ambiente del laboratorio Nel lab, oltre agli strumenti prima evidenziati, sarà utilizzata un applicazione freeware open-source basata su.net che sarà utilizzata al fine di effettuare il test. L applicazione è un portale informativo ed è presente nel CD-ROM anche con i source, è composta da un web server, dal framework.net e da un DB server (SQL Server). Database of portal application SQL SERVER - DATABASE - Server with Web portal (INTERNET INFORMATION SERVER) - WEB SERVER and.net framework - APPLICATION SERVER PC with WAST installed simulating multi-user activity

Strumenti: Uso del PERFMON Il PERFMON è in grado di campionare l attività in essere all interno della macchina sotto analisi tramite contatori. I contatori possono essere sere mostrati tramite Chart (line o istogram) ) e registrati tramite Log e successivamente elaborati via PERFMON o altri strumenti. Inoltre lo strumento è in grado di inviare Alerts al supero di determinate soglie e di redigere Report. Nel Perfmon Graph a sinistra è visualizzato l andamento di alcuni contatori durante l esecuzione l dello script del WAST che sarà utilizzato durante il laboratorio

Strumenti: Performance Counters per i LAB CONTATORE ISTANZA OGGETTO DESCRIZIONE Pagine/Sec --- Memoria Pagine/sec è la velocità di lettura o di scrittura delle pagine da o su un disco per risolvere gli errori di pagina di memoria hardw are. Questo contatore è l'indicatore primario dei tipi di errore che causano ritardi a tutto il sistema. È espresso in nume Lunghezza media coda del disco _Total Disco fisico Lunghezza media della coda del disco è il numero medio delle richieste di lettura e di scrittura messe in coda per il disco specificato durante l'intervallo di tempo campione. % Tempo processore _Total Processore % Tempo processore è espresso come percentuale del tempo che il processore impiega per eseguire un thread attivo. Questo contatore è l'indicatore primario dell'attività del processore e mostra la percentuale media di tempo trascorso eseguendo lavoro utile Connessioni correnti _Total Servizio Web Connessioni correnti è il numero corrente di connessioni stabilite con il Servizio Web. Tentativi di connessione/sec _Total Servizio Web Frequenza dei tentativi di connessione con il Servizio Web. User Connections --- SQL Server: General Statistics Number of users connected to the system. Richieste in esecuzione _PortalCSVS ASP.NET Applications Numero delle richieste attualmente in esecuzione. Richieste nella coda dell'applicazione _PortalCSVS ASP.NET Applications Numero di richieste nella coda di richieste dell'applicazione. Richieste/sec _PortalCSVS ASP.NET Applications Numero di richieste soddisfatte al secondo.

Strumenti: Uso del WAST Il WAST (Web Application Stress Tool) è uno strumento atto a stressare le applicazioni web simulando n connessioni concorrenti su pattern di navigazione prestabiliti. Il suo utilizzo è in generale teso a rilevare le capacità elaborative del sistema o ad ottimizzare l applicazione l rilevando delle particolari navigazioni o funzionalità applicative particolarmente lente. Noi utilizzeremo il Wast per determinare la presenza di bottleneck all interno del sistema. 1 utilizzo: determinare la presenza del bottleneck ed identificarlo. 2 utilizzo: eliminato il bottleneck,, verificare la capacità di carico del sistema

Strumenti: CPUStress, Leaky App Al fine di simulare un bottleneck all interno del sistema saranno utilizzate due differenti applicazioni fornite all interno del Resource Kit di Microsoft Windows. Normalmente i bottleneck non devono essere provocati ma sono l oggetto l della ricerca. CPUSTRESS (SP2004.EXE): è uno strumento che consente di simulare uno stress della CPU tramite una serie di elaborazioni CPU-intensive. Il risultato è quello di limitare fortemente e gradualmente le risorse della macchina. LEAKYAPP (LEAKYAPP.EXE( LEAKYAPP.EXE): è uno strumento che consente di simulare un applicazione che abbia dei memory leak.. Un memory leak consiste nel fatto che un applicazione o un servizio non disallochi la memoria dopo averla utilizzata causandone in questo modo la perdita. A lungo andare il sistema risente della perdita di memoria ed è necessaria la sua ripartenza (reboot system).

Determinare i processor bottlenecks (CPU Starvation) Il rilevamento di un processor bottleneck è in generale semplice in quanto si verifica nel momento in cui uno specifico processo o il processo di sistema consuma eccessivamente CPU. Attenzione che molte volte un supposto processor bottleneck è invece un memory bottleneck mascherato. I contatori più interessanti per verificare un processor bottleneck sono rappresentati da:» SYSTEM: % Total Processor Time» SYSTEM: Processor Queue Length» PROCESSOR: % Processor Time» PROCESS: % Processor Time» PROCESS: % User Time» PROCESS: % Privileged Time Object System System Processor Process Process Process Process Thread Thread Thread Thread Thread Thread Counter % Total Processor Time Processor Queue Length % Processor Time % Processor Time % User Time % Privileged Time Priority Base Thread State Priority Base Priority Current Context Switches/Sec % User Time % Privileged Time

Determinare i memory bottlenecks Memory leak Windows è equipaggiato con un sistema di Virtual Memory in grado di utilizzare come memoria sia la RAM che uno o più spazi su disco (i cosiddetti pagefile ). Nel momento in cui la memoria disponibile tende a diminuire, come e nel caso di un memory leak,, il sistema tende sempre di più a caricare e scaricare il pagefile, causando così un netto ed importante degrado prestazionale. Un importante indicatore della possibilità di un memory bottleneck è rappresentato dai page faults,, ossia dall evento che si verifica quando la pagina di memoria necessaria all applicazione applicazione non si trova in RAM ma su disco. Object Memory Memory Memory Memory Memory Memory Memory Process Process Process Process Counter Page Faults/sec Page Reads/sec Page Writes/sec Pages Input/sec Pages Output/sec Available bytes Nonpaged pool bytes Page Faults/sec Working set Private Bytes Page File Bytes

LAB Materiale a supporto Sul CD distribuito nel seminario si trova /PPT: si trovano i PDF relativi ai PPT del seminario Sessione Teorica e Sessione Pratica /STRUMENTI: si trovano i seguenti file» Sp2004.exe SW di CPU Stress» LAB_Counters.msc file del PERFMON con i performance counters preimpostati» WAST_Setup.exe File di installazione del WAST» LEAKYAPP.ZIP > > SW di Memory Leak» WAST_Script_DB.mdb DB di Script per il WAST /APPLICAZIONI:» ASP.NET Portal (CSVS) Installer v1.0.msi Setup del Web Portal» Portal Whitepaper.doc Documentazione del Portal App» SourceCode.exe Source code del Portal App» Microsoft SQL Server 2000 evaluation KIT

LAB 1 Il LAB 1 ha l obiettivo l di determinare, al crescere del carico, le variazioni dei tempi di risposta dell applicazione Portale in un ambiente dedicato. Non ci sono quindi altre applicazioni che utilizzano risorse all infuori dei sottosistemi necessari per l ambiente di esecuzione. Attività nel LAB: Uso del WAST per eseguire gli script dai differenti client Monitoraggio dei performance counters identificati per interpretare l andamento il carico sul sistema Interpretazione dei risultati prestazionali del test dai report del WAST

LAB 2/A CPU Starvation Partendo dai dati ottenuti nel LAB precedente si effettueranno una u serie di test utilizzando il SW di CPU Stress in differenti configurazioni. Il SW di CPU Stress simula una compresenza all interno della macchina di differenti applicazioni facendo quindi diventare il sistema condiviso. Attività del LAB: Uso di CPU Stress per simulare differenti condizioni di carico esterno e all applicazioni applicazioni Uso del WAST per eseguire gli script dai differenti client Monitoraggio dei performance counters identificati per interpretare l andamento il carico sul sistema Interpretazione dei risultati prestazionali del test dai report del WAST

LAB 2/B Memory Leaking Partendo dai dati ottenuti nel LAB precedente si effettueranno una u serie di test utilizzando il Leaky App per simulare un drenaggio anomalo della memoria. Attività del LAB: Uso di Leaky App per simulare condizioni di memory leaking Uso del WAST per eseguire gli script dai differenti client Monitoraggio dei performance counters identificati per interpretare l andamento il carico sul sistema con focalizzazione sugli aspetti di memory management Interpretazione dei risultati prestazionali del test dai report del WAST

Fine del seminario Arrivederci a tutti e BUON ESAME