Java RPC-07: Extra e prestazioni

6 settembre 2009 da Enrique Lascia un commento »

Questo è l'ultimo articolo di questa serie ho esplorerà alcune extra di RPC è il server che servirà a noi per implementare un server di applicazioni, ma senza perdere di generalità. Avremo anche per eseguire un test delle prestazioni, vedendo il througput (richieste al secondo) che ha il server.

Extra

Servizi sul lato server accetta parametri di inizializzazione. Questo ci permetterà di passare i dati per configurare il servizio. Questi parametri sono accessibili attraverso il metodo GetParameters () della classe di servizio, che restituisce una mappa con l'installazione.

Validation Service

Prima di aggiungere un servizio al server, eseguire i seguenti controlli:

  • Che l'attuazione del servizio devono avere un costruttore senza parametri

  • Che l'implementazione del servizio deve implementare l'interfaccia del servizio

  • Non sovraccaricare i metodi del servizio

  • Che il tipo di ritorno dei parametri del metodo sono serializzabili

Questi controlli aiutano ad evitare gli errori più comuni.

Autorizzate ad eseguire

Prima di eseguire effettivamente un metodo di servizio viene invocato un intercettore: onPreExecution. In caso di successo, poi passato per richiamare il servizio, se non eccezionalmente NotExecutedException fuori. Questo sta andando essere utilizzato per implementare, per esempio, meccanismi di sicurezza e auditing (logging).

Performance

Con il test delle prestazioni si verifica se il progetto è scalabile come volevamo. Il test è stato eseguito su un notebook che ha un modello di processore Intel T9500 (2,6 GHz C2D, 6MB di cache Penryn core) con 2 GB di RAM a 32 bit di Ubuntu 9.04 e java6. I risultati sono stati:

Caso Client elabora Cliente le discussioni Ordini per filo Ordini totali Tempo (sec) Richieste / secondo

1

5

30

2500

375000

207

1811,59

2

10

30

2500

750000

229

3275,11

Pur non essendo un rigoroso stress test, fornisce una buona approssimazione delle prestazioni e la scalabilità del servizio: raddoppiando il numero di ordini, ma il tempo passa del 10,6%. Inoltre, vi è un valore che può essere regolato per la creazione del server che è la dimensione del pool dell'Ordine strato di operai che gli ordini spediti il ​​livello di servizio. La dimensione predefinita è 10, ma se siete di fronte ad una configurazione multi CPU può aumentare questo valore per ottenere prestazioni migliori. Per i test di prestazioni abbiamo utilizzato un pool di 10 lavoratori.

Un application server basato su una versione precedente del meccanismo RPC è a posto per diversi anni una delle più grandi banche in Uruguay.

Nel prossimo articolo inizieremo con l'introduzione al server applicazioni e quali sono le componenti principali.

Stay tuned!

Blogger post Digg Reddit Google Reader Parte
Pubblicità

Lascia un commento

Protezione anti-spam da WP Captcha-Free