Quando si progetta un flusso di messaggi, la flessibilità e la
ricchezza dei nodi integrati spesso implicano l'esistenza di diversi modi per realizzare l'elaborazione e
quindi i risultati finali richiesti. Tuttavia, queste diverse soluzioni
forniscono prestazioni diverse e, se questa considerazione è ritenuta rilevante,
è necessario eseguire la progettazione sia dal punto di vista delle prestazioni che della
funzione.
Esistono due modi in cui le applicazioni possono percepire
le prestazioni:
- Tempo di risposta. Indica quanto rapidamente viene elaborato ciascun messaggio dal flusso di
messaggi. Su questo aspetto influisce soprattutto la modalità di progettazione dei flussi di messaggi. Questo
aspetto verrà ulteriormente affrontato in questo argomento.
- Velocità. Indica quanti messaggi di dimensioni particolari possono essere elaborati da un flusso di messaggi in un tempo
prestabilito. Su questo aspetto influiscono soprattutto fattori di configurazione e di risorse di sistema e quindi
se ne discuterà in Ottimizzazione della velocità di trsmissione del flusso di messaggi con altre informazioni relative alla configurazione del
dominio.
Esistono diversi aspetti che influiscono sui tempi di risposta del flusso di messaggi.
Tuttavia, mentre si crea e si modifica il progetto del flusso di messaggi per ottenere i migliori
risultati che soddisfino le esigenze specifiche dell'azienda, è necessario anche considerare l'eventuale
complessità del flusso di messaggi. I flussi di messaggi più efficienti non sono necessariamente
i più semplici da comprendere e da gestire; è consigliabile sperimentare le soluzioni disponibili
per arrivare all'equilibrio migliore per le proprie esigenze.
Sono diversi i fattori che
che influiscono sui tempi di risposta del flusso di messaggi:
- Il numero di nodi inclusi nel flusso di messaggi
- Ogni nodo causa un certo sovraccarico dell'elaborazione, quindi il contenuto del flusso di
messaggi va considerato attentamente, incluso l'utilizzo di flussi secondari.
Utilizzare il minor numero di nodi
possibile in un flusso di messaggi; ogni nodo incluso nel flusso di messaggi
aumenta il sovraccarico nel broker. Esiste un limite massimo per il numero di nodi
all'interno di un singolo flusso. Questo limite è regolato dalle risorse di sistema, in particolare
dalla dimensione dello stack.
Per ulteriori informazioni sulle dimensioni dello stack,
consultare Considerazioni di sistema per lo sviluppo del flusso di messaggi.
- L'utilizzo di messaggi permanenti e transazionali
- I messaggi permanenti sono memorizzati su disco durante l'elaborazione del flusso di messaggi.
Questo può essere evitato se si specifica che i messaggi in input, output o entrambi non sono
permanenti. Se il flusso di messaggi gestisce solo messaggi non permanenti, controllare
la configurazione dei nodi e il flusso di messaggi stesso; se i messaggi non sono
permanenti, potrebbe essere necessario un supporto transazionale.
La configurazione predefinita di alcuni nodi applica la transazionalità; se si aggiornano
queste proprietà e si ridistribuisce il flusso di messaggi, i tempi di risposta potrebbero
essere migliori.
- Dimensioni del messaggio
- Un messaggio più grande necessita di più tempo per essere elaborato. Se è possibile suddividere i messaggi di grandi
dimensioni in parti di informazioni più piccole, si potrebbe migliorare la velocità con cui vengono gestite dal flusso
di messaggi. L'Esempio Messaggio di grandi dimensioni dimostra come ridurre
i requisiti di memoria virtuale per il flusso di messaggi per migliorare le prestazioni di un
flusso di messaggi quando elabora messaggi potenzialmente di grandi dimensioni.
E' possibile trovare ulteriori informazioni su come migliorare
le prestazioni di un flusso di messaggi in questo articolo di developerWorks sulle prestazioni del flusso di
messaggi.