mercoledì dic 03, 2008

Solaris Technical Workshop

Ho preparato queste slide per un workshop tecnico su Solaris, utilizzando in parte i contributi già esistenti su tematiche di interesse come ZFS, DTrace, ecc.

Solaris Technical Workshop
View SlideShare presentation or Upload your own. (tags: workshop features)

venerdì apr 18, 2008

Usare DTrace con MySQL

Dalla MySQL Users Conference 2008 ecco una presentazione ricca di esempi di Ben Rockwood:DTrace & MySQL.

Da notare che il framework DTrace è stato portato da Solaris anche in altri sistemi operativi, come Mac OS X (10.5), FreeBSD e QNX.

mercoledì ott 17, 2007

DTrace per utenti diversi da root

L'utilizzo di DTrace può essere molto utile in un ambiente di sviluppo o collaudo, in particolare nel caso di test prestazionali. Per semplificare le attività è possibile dare l'accesso a DTrace ad utenti diversi da root dando agli utenti (o ai processi) i privilegi dtrace_proc, dtrace_user, dtrace_kernel.

Per dare i privilegi in modo persistente ad un utente (<userid> nell'esempio) il comando è il seguente:

# usermod -K defaultpriv=basic,dtrace_proc,dtrace_user,dtrace_kernel <userid>

Questo comando aggiorna il file "/etc/usr_attr" con i privilegi indicati.

Per avere una descrizione dei privilegi è possibile usare il comando ppriv:

# ppriv -lv dtrace_proc,dtrace_user,dtrace_kernel

Per rimuovere i privilegi è sufficiente non indicarli nel comando usermod:

# usermod -K defaultpriv=basic <userid>

Per iniziare ad usare il DTrace si può partire dagli script già pronti del DTraceToolkit o dalla guida utente.

martedì ott 09, 2007

Il DTraceToolkit è stato aggiornato

E' disponibile la versione 0.99 del DTraceToolkit (la precedente era la 0.96) che incrementa notevolmente il numero di script e di esempi forniti. Il DTraceToolkit è un archivio di script che permette di utilizzare con semplicità le funzionalità di tracciamento dinamico del framework DTrace, anche senza conoscerne i dettagli tecnici. Gli script sono raggruppati in differenti directory in base alla tematica, mentre nella directory principale sono inclusi quelli più utili e "general purpose". Particolare focus in questa release è stato dato agli gli sviluppatori, i linguaggi supportati per il monitoraggio sono C/C++, Java, JavaScript, Perl, PHP, Python, Ruby, Tcl.

Maggiori informazioni sul blog di Brendan Gregg e sul repository del DTraceToolkit sul sito della comunità OpenSolaris.

lunedì mag 21, 2007

DTrace e Ruby

Joyent è un fornitore di servizi online di collaboration, backup e on-demand computing. Il loro punto di forza è la scalabilità della soluzione offerta, implementata con Ruby On Rails e OpenSolaris. Per analizzare ed ottimizzare le prestazioni della loro infrastruttura Joyent ha implementato le sonde DTrace in grado di monitorare applicazioni scritte in Ruby. Queste ed altre informazioni sono disponibili sul loro sito Joyent's DTrace.

martedì apr 24, 2007

The Power of DTrace

Ecco un'introduzione approfondita e ricca di esempi (su come analizzare cross calls, processi unix, ecc.) del framework DTrace scritta da Roy Cecil:

giovedì apr 12, 2007

Chime, un'interfaccia grafica per DTrace

Chime è uno strumento di visualizzazione per il framework DTrace che permette di accedere alle funzionalità di monitoraggio tramitte un'interfaccia grafica (remotizzabile tramite JMX) e di gestire uno storico dei dati collezionati (in formato XML).


Un'importante funzionalità di Chime è quella di sfruttare le funzionalità dinamiche di DTrace per instrumentare nuove sonde e creare nuovi display (di cui la figura precedente è un esempio). Chime può essere scaricato dal sito del progetto presso la comunità OpenSolaris. Per maggiorni informazioni è disponibile il web cast Chime Visualization Tool for DTrace presentato da Tom Erickson, ideatore di Chime e delle Java DTrace API.

 

martedì apr 10, 2007

DTrace per effettuare il debug di codice JavaScript

Con il crescere della popolarità delle tecnologie AJAX alla base del Web 2.0, c'è una necessità sempre crescente di strumenti per il debug di applicazioni complesse realizzate in JavaScript. Il framework DTrace, incluso nel sistema operativo Solaris, permette di esaminare l'esecuzione di codice JavaScript in tempo reale per identificare possibili problemi funzionali o di performance.

Utilizzando DTrace per effettuare il debug di una applicazione JavaScript si monitora contemporaneamente, e con il medesimo strumento, tutto lo stack software in esecuzione sul sistema, incluso quindi il browser che interpreta il codice JavaScript ed il kernel del sistema operativo sottostante. In questo modo è possibile verificare, ad esempio, se un rallentamento nelle performance sia legato ad un problema nel proprio codice JavaScript o all'implementazione dell'interprete nel browser.

Per maggiori informazioni è disponibile questo Web/Video cast:

 

mercoledì apr 04, 2007

Possibili sinergie tra ZFS e iSCSI

ZFS ed iSCSI sono probabilmente le due tecnologie più innovative in ambito storage degli ultimi anni. E' interessante notare come il loro uso combinato possa creare delle sinergie e quindi delle architetture di storage di nuova generazione.

Ad esempio è possibile implementare una architettura di storage scalabile utilizzando come componenti dei Data Server (ovvero sistemi dotati di un considerevole storage interno) come i Sun Fire X4500 (ciascun X4500 è dotato di 48 dischi SATA da 500GB, per un totale di 24TB di spazio raw). Su ciascun Data Server è possibile configurare un unico storage pool in configurazione raidz da circa 20TB utili e su questo creare uno o più volumi ZFS da esportare come target iSCSI. Un server "applicativo" che dovrà utilizzare lo storage potrà montare via iSCSI i volumi di N sistemi X4500, ciascuno configurato come indicato precedentemente, e configurarli in uno storage pool "virtualmente locale" a sua volta eventualmente in raidz per garantire l'affidabilità in caso di guasto di un Data Server. Su tale pool si possono creare i file system ZFS su cui lavorare. Ogni lettura/scrittura su tali file system è automaticamente distribuita su più Data Server (in base alla configurazione dello storage pool del server "applicativo") e, all'interno dei Data Server, su tutti i dischi (in base alla configurazione dello storage pool dei Data Server), con un accesso distribuito estremamente performante e scalabile. La scalabilità è garantita in quanto aggiungendo uno o più  Data Server è possibile configurarli nello storage pool del server "applicativo" ed il nuovo spazio è reso automaticamente visibile da ZFS ai file system allocati nello storage pool, rispettando ovviamente tutte le policy di quota e reservation preventivamente impostate.

[Read More]

martedì feb 20, 2007

Solaris Express, Developer Edition

Solaris Express Developer Edition è una distribuzione ottimizzata per gli sviluppatori con un ambiente desktop aggiornato ed una serie di strumenti per lo sviluppo di applicazioni Solaris, Java e Web 2.0.

La release 2/07 include tutte le funzionalità dell'ultimo Solaris Express, Community Edition (build 55, disponibile in CD o DVD) con il seguente software preinstallato:

Sono presenti anche tutte le nuove funzionalità introdotte in OpenSolaris per Zone, Resource Management e DTrace, in modo che possano essere testate e valutate dalla comunità.

La distribuzione è disponibile anche come immagine VMware: VMware for Solaris Express, Developer Edition.


giovedì gen 18, 2007

Monitorare Java con DTrace

Con la disponibilità di Java SE 6 (JDK 6) è possibile monitorare il comportamento delle applicazioni Java utilizzando i provider DTrace hotspot e hotspot_jni, il primo focalizzato sul monitoraggio della HotSpot Java Virtual Machine (JVM), il secondo delle chiamate Java Native Interface (JNI). Inoltre è stata introdotta in DTrace l'azione jstack che permette di stampare uno stack completo per le applicazioni Java.

Con la distribuzione del JDK 6 si trovano alcuni D script di esempio nella directory:

  • $JAVA_HOME/sample/dtrace/hotspot/

Sul mio portatile (con Solaris 10 11/06) si può provare uno degli script con il comando (vado a capo a causa della lunghezza):

# /usr/jdk/instances/jdk1.6.0/sample/dtrace/hotspot/method_invocation_stat.d -c \\
"java UnFilePuntoClass"

[Read More]

giovedì mar 02, 2006

DTrace in Solaris 10 OS

DTrace è un framework per il tracciamento dinamico delle attività svolte dal sistema operativo Solaris 10. Il framework è composto da tre componenti principali:

  • una serie di sonde (probe) introdotte nel kernel di Solaris 10 OS, che possono essere o meno attivate, descritte in dtrace(7D);

  • una libreria di interfacciamento per accedere dallo spazio utente alle funzionalità del framework, libdtrace(3LIB);

  • alcuni comandi utente che permettono di accedere in modo completo alle informazioni che sono rilevate, su richiesta, dalle sonde, tra cui il comando, omonimo del framework, dtrace(1M).

Alcuni comandi di monitoraggio (ad es. lockstat, plockstat, intrstat) già presenti in versioni precedenti del sistema operativo Solaris sono stati re-implementati nella 10 tramite il framework DTrace.

Per vedere un esempio delle sonde è possibile lanciare il comando seguente e vedere le prime schermate:

# dtrace -l|more

Ogni sonda è individuata con un nome composto con la sintassi seguente: "provider:module:function:name".

Per avere una idea della numerosità delle sonde è possibile lanciare il comando:

# dtrace -l|wc -l

e sottrarre uno per la riga di intestazione. Quest'ultimo comando ritorna un numero superiore a 40.000 sul mio portatile con Solaris 10 1/06 x86 (32bit). Tale valore dipende dai moduli kernel (che implementano DTrace) caricati sul sistema.

Per testare le potenzialità di DTrace è possibile realizzare degli script in un apposito linguaggio denominato D Programming Language. Tale linguaggio ha una sintassi simile a quella dell'awk e non è quindi un linguaggio puramente procedurale, ma del tipo "pattern action", dove il pattern è un modo per selezionare alcune sonde e/o alcuni risultati particolari delle sonde, mentre con l'action si identificano le attività necessarie per elaborare le informazioni reperite.

[Read More]
About

Un diario digitale sui miei interessi: Internet, Solaris, Java, Fotografia, ecc.

Search

Archives
« aprile 2014
lunmarmergiovensabdom
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today