Argomento precedente: Appliance del server di applicazioni

Argomento successivo: JBOSS, JBOSS64: server di applicazioni JBoss

TOMCAT, TOMCAT64: server di applicazioni

Ultima versione: 2.0.2-1

Server Tomcat

In breve

Catalogo

Sistema

Categoria

Server di applicazioni

Volumi dell'utente

Min. memoria

160 MB

Sistema operativo

Linux

Vincoli

no

Domande/commenti

Fare richieste al forum

Panoramica delle funzionalità

TOMCAT è un'appliance server Web basata su Sun Java Machine e Apache Tomcat, un contenitore di pagine Java Servlet e JavaServer sviluppato da Apache License. La documentazione principale di Tomcat si trova al sito tomcat.apache.org. Tomcat fornisce un supporto conforme agli standard per servlet e JSP. Tomcat può funzionare come server Web standalone o come server delle applicazioni.

TOMCAT presenta contenuto Web statico, distribuisce automaticamente le applicazioni Web, esegue servlet e pagine JavaServer da un volume di contenuti configurabile dall'utente. I percorsi ai documenti sono configurabili in modo che lo stesso volume venga condiviso fra più server Web e altre appliance che servono contenuto diverso.

TOMCAT serve il protocollo di HTTP/1.1 e HTTP/1.0 per i client Web e per AJP 1.3 per le richieste dai server front-end (es. Apache con mod_proxy_ajp).

Come i server WEBx, TOMCAT ha tre terminali di output generici che accedono ai servizi esterni dagli script sul volume di contenuto. Il terminale DB è utilizzato per accedere a diversi database; il terminale FS è utilizzato per accedere all'archiviazione dei file condivisi (mediante NFS); e il terminale AUX è creato per l'invio dei messaggi di posta elettronica a un server SMTP.

Il terminale di log dovrebbe essere utilizzato per connettere TOMCAT a un file system condiviso dove TOMCAT può archiviare i file di log.

La configurazione del server è definita usando varie proprietà. Queste proprietà sono state progettate per coprire la maggior parte delle varianti di utilizzo possibili, che sono comunque facili da configurare e solo in pochi casi richiedono di modificare le impostazioni di default

Nome

Ultima versione

OS

Versione di Java

Versione di Apache Tomcat

TOMCAT

2.0.2-1

CentOS 5.5

JDK 1.6.0.22

6.0.29

TOMCAT64

2.0.2-1

CentOS 5.5 (64 bit)

JDK 1.6.0.22

6.0.29

Limite

Risorse per TOMCAT

Risorsa

Minimo

Massimo

Predefinito

CPU

0,1

16

0,3

Memory (Memoria)

160 MB

4 G

512 MB

Larghezza di banda

1 Mbps

2 Gbps

250 Mbps

Risorse per TOMCAT64

Risorsa

Minimo

Massimo

Predefinito

CPU

0,1

16

0,3

Memory (Memoria)

160 MB

64 G

512 MB

Larghezza di banda

1 Mbps

2 Gbps

250 Mbps

Tenere presente quanto segue:

Risorsa

Minimo

Massimo

Predefinito

CPU

0,1

16

0,3

Memory (Memoria)

160 MB

64 G

512 MB

Larghezza di banda

1 Mbps

2 Gbps

250 Mbps

Tenere presente quanto segue:

Risorsa

Minimo

Massimo

Predefinito

CPU

0,1

16

0,3

Memory (Memoria)

160 MB

64 G

512 MB

Larghezza di banda

1 Mbps

2 Gbps

250 Mbps

Si ricorda che:

Importante: TOMCAT ha restrizioni ereditate dal computer di java a 32 bit. Questo computer di java non può funzionare con più di circa 2,6 Gb di memoria; si raccomanda di non allocare più di 2,8 Gb di memoria per TOMCAT.

Requisiti di memoria per l'archiviazione delle sessioni dell'applicazione Java

Oltre alla memoria per le applicazioni Java, una quantità di memoria deve essere disponibile per archiviare le sessioni di applicazione. Ciascuna sessione vuota (senza dati aggiuntivi archiviati) usa circa 2kb di memoria. Questa memoria è usata durante la durata di vita della sessione (la predefinita è 30 min). È possibile configurare la durata di vita della sessione modificando o aggiungendo una sezione aggiuntiva al file di configurazione web.xml di un'applicazione. Per esempio includere questo codice per configurare la durata di vita della sessione a 1 minuto:

  <session-config>
    <session-timeout>1</session-timeout>
  </session-config>

Se si prevedono visitatori unici per 10 k in 30 min, sono richiesti 20 MByte aggiuntivi di memoria libera. In generale: quantità di memoria richiesta = numero massimo di sessioni attive simultanee * dimensione media di una sessione.

Importante: Se non vi è abbastanza memoria disponibile, tomcat può non funzionare correttamente. Questo dipende dalle applicazioni di utente che sono eseguite in Tomcat e non è un limite dell'appliance stessa.

Terminali

Nome

Direzione

Protocollo

Descrizione

in

in

HTTP

Serve le richieste HTTP che vengono dai client Web. Supporta HTTP/1.1, HTTP/1.0 e i protocolli di AJP.

db

out

Qualsiasi

Accesso a un server del database. L'uso è definito indipendentemente dagli script che risiedono sul volume di contenuto (se del caso). Questo terminale può essere lasciato non connesso se non viene utilizzato.

fs

out

NFS

Accesso a un file system di rete per l'archiviazione dei file condivisi, consentendo un accesso ai file di scrittura/lettura su NFS. L'uso è definito indipendentemente dagli script che risiedono sul volume di contenuto (se del caso). Il software sul volume di contenuto "vede" il file system remoto come /mnt/fs nello spazio del file system dell'appliance. Questo terminale può essere lasciato non connesso se non viene utilizzato. Il server connesso deve avere una condivisione di lettura/scrittura denominata /mnt/data su NFS.

log

out

CIFS

Accesso a un file system di rete basato su CIFS per l'archiviazione dei log IIS. Questo terminale può essere lasciato non connesso se non viene utilizzato. Il server connesso deve consentire gli accessi anonimi e avere una condivisione di lettura/scrittura denominata shared.

aux

out

Qualsiasi

Accesso a un server SMTP per l'invio della posta elettronica in uscita.
Questo terminale può essere lasciato non connesso se non viene utilizzato.

net

out

Qualsiasi

Output di gateway per l'accesso di subnet.
Questo terminale può essere lasciato non connesso se non viene utilizzato.

mon

out

CCE

Invia le statistiche sull'utilizzo delle risorse e le prestazioni all'appliance di MON.
Questo terminale può essere lasciato non connesso se non viene utilizzato.

L'interfaccia predefinita è abilitata. È destinato per la diagnosi e la risoluzione dei problemi (su SSH). Le versioni future di questa appliance possono disabilitare l'accesso di SSH.

Volumi dell'utente

Volume

Descrizione

contenuto

Volume per l'archiviazione delle applicazioni di Tomcat, dati di applicazioni, file temporanei e file di lavoro. Questo volume è usato soltanto se la proprietà content_on_fs è impostata su off.

Proprietà

Nome di proprietà

Tipo

Descrizione

content_on_fs

Stringa

Specifica se il contenuto è relativo al file system nel terminale FS oppure se è sul volume di contenuto. Predefinito: off (sul volume di contenuto)

hostname

Stringa

Nome host del sito Web. Predefinito: host locale

tomcat_port

Numero intero

Porta dove Tomcat ascolta le richieste HTTP in entrata. Valore predefinito: 8080

session_timeout

Numero intero

Timeout per la sessione utente, in minuti, in cui TOMCAT mantiene i dati associati alla sessione utente, in memoria. Predefinito: 30

max_connections

Numero intero

Numero massimo di connessioni concorrenti autorizzate. Quando questo numero viene raggiunto, le nuove connessioni sono comunque accettate ma la loro elaborazione è ritardata fino alla chiusura di un'altra connessione. Valore predefinito: 100

heap_size

Numero intero

Memoria allocata per heap di Java (l'opzione Java di -Xmx), in megabyte. Se 0, questo valore è calcolato automaticamente. Valore predefinito: 0

perm_size

Numero intero

Memoria allocata per gli oggetti permanenti di Java (opzione Java di -XX:PermSize), in megabyte. Se 0, questo valore è calcolato automaticamente. Valore predefinito: 0

app_base

Stringa

Directory principale per i documenti, file di lavoro e file temp. Una struttura tipica della directory ${catalina.base} di Tomcat verrà creato in questa cartella: condivisa per le librerie che sono comuni a tutte le applicazioni java; temporanea e di lavoro per i file di lavoro; e la sottodirectory definita in proprietà work_dir - analogo a ${catalina.base}/webapps. Predefinito: vuoto

work_dir

Stringa

Directory in cui si trovano i documenti da servire. Utilizzato anche per scopo di distribuzione automatica. Maggiori informazioni sono disponibili al sito Web di Tomcat - Distribuzione automatica delle applicazioni. Predefinito: webapps

fuso orario

Stringa

Specifica il fuso orario usato nell'appliance. Se questa proprietà è vuota, il fuso orario non è modificato e viene lasciato com'è. Un elenco di fusi orari supportati è disponibile qui. Predefinito: vuoto

Registrazione delle proprietà

Nome di proprietà

Tipo

Descrizione

logs_enabled

Stringa

Abilita o disabilita completamente la registrazione. Predefinito: no

logs_base_dir

Stringa

Directory in cui sono archiviati i file di log. Predefinito: vuoto, i log sono messi nella radice del volume di NAS montato

error_log_filename

Stringa

Prefisso di nome del file per il log di errori. Predefinito: catalina

log_level

Stringa

Livello di registrazione. I valori sono, aumentando il livello di verbosità, SEVERO, AVVISO, INFO, CONFIG, BUONO, MOLTO BUONO, OTTIMO, TUTTO. La descrizione più dettagliata dei livelli di log è disponibile nella documentazione di Tomcat. Predefinito: INFO

enable_access_log

Stringa

Abilita o disabilita il registro di accesso. Predefinito: no

access_log_filename

Stringa

Prefisso di nome del file per il log di accesso Predefinito: access.log

Contatori personalizzati

L'appliance di TOMCAT riporta i seguenti contatori personalizzati attraverso il terminale di MON. Questi contatori appartengono al gruppo di contatori di TOMCAT (TOMCAT64 in caso di TOMCAT64):

Nome di contatore

Descrizione

Classi caricate

Numero di classi caricate

Classi caricate in byte

Numero di KB caricati

Classi scaricate

Numero di classi scaricate

Le classi scaricate in byte

Numero di KB scaricati

Tempo di esecuzione di caricamento/scaricamento delle classi

Tempo trascorso nell'esecuzione delle operazioni di caricamento e scaricamento delle classi

Compilatore redatto

Numero di attività di compilazione eseguite

Compilatore non riuscito

Numero di attività di compilazione non riuscite

Compilatore invalido

Numero di attività di compilazione invalidate

Tempo di esecuzione compilatore

Tempo trascorso nell'esecuzione dei compiti di compilazione

Capacità di spazio di heap s0

Capacità restante corrente di spazio 0

Capacità di spazio di heap s1

Capacità restante corrente di spazio 1

Uso di spazio di heap s0

Spazio restante di spazio 0

Uso di spazio di heap s1

Uso restante di spazio 1

Capacità di spazio di heap eden

Capacità di spazio corrente di eden

Uso di spazio di heap eden

Uso di spazio di eden

Capacità di vecchio spazio di heap

Capacità di vecchio spazio corrente

Uso di vecchio spazio di heap

Uso di vecchio spazio

Capacità di spazio permanente di heap

Capacità di spazio permanente corrente

Uso di spazio permanente di heap

Uso di spazio permanente

Eventi GC di nuova generazione di heap

Numero di eventi GC di nuova generazione di heap (GC - raccolta di garbage)

Tempo GC di nuova generazione di heap

Tempo di raccolta garbage di nuova generazione

Numero di eventi GC di heap

Numero di eventi GC completi

Tempo GC completo di heap

Tempo di raccolta di garbage completo

Tempo GC totale di heap

Tempo di raccolta totale di garbage

Nuova generazione corrente di pool

Capacità corrente di nuova generazione

Pool min nuova generazione

Capacità minima nuova generazione

Nuova generazione di pool max

Capacità max nuova generazione

Vecchia generazione di pool corrente

Capacità vecchia generazione corrente

Vecchia generazione di pool minimo

Capacità di vecchia generazione minima

Vecchia generazione di pool max

Capacità di vecchia generazione max

Generazione permanente di pool corrente

Capacità di generazione corrente permanente

Generazione permanente pool min

Capacità di generazione permanente min

Generazione permanente pool max

Capacità di generazione permanente massima

Soglia di tenuring di nuova generazione

Soglia di tenuring

Soglia di tenuring max nuova generazione

Soglia di tenuring max

Dimensione restante desiderata

Dimensione restante desiderata

Attività di compilatore

Numero di attività di compilazione eseguite

Possibili errori di avvio

In caso di errore nell'avvio dell'appliance, è possibile che vengano registrarti i seguenti errori nel log di sistema:

Messaggio di errore

Descrizione

ERRORE: i log sono abilitati, ma il terminale di log non è connesso.

il terminale di log non è connesso, ma logs_enabled o enable_access_log è impostato su yes.

ERRORE: la proprietà content_on_fs è su 'off' ma il volume di contenuto locale manca.

Il content_on_fs è impostato su off e specifica che il volume di dati deve essere montato localmente, ma TOMCAT non riesce a montare il volume di contenuto. La causa probabile è che il volume di contenuto non è formattato oppure non è definito nelle proprietà di TOMCAT.

Errore: impossibile montare la condivisione di nfs

TOMCAT non riesce a montare la condivisione di nfs. La causa probabile è che fs non sia connesso o che TOMCAT non è stato avviato prima di NAS (o un'altra appliance è connessa al terminale di fs)

Messaggi del dashboard

Messaggio

Descrizione

Lo spazio su disco disponibile per l'archiviazione dei dati è inferiore al 5%

Lo spazio su disco disponibile per il volume di dati cui si accede dal terminale FS è inferiore al 5%. Si consiglia di aumentare la dimensione del volume.

Lo spazio su disco disponibile per l'archiviazione dei dati è inferiore all'1%

Lo spazio su disco disponibile per il volume di dati cui si accede dal terminale FS è inferiore all'1%. È richiesta attenzione immediata perché potrebbe verificarsi una perdita di dati.

Lo spazio su disco disponibile per il volume del contenuto è inferiore al 5%

Lo spazio su disco disponibile per il volume del contenuto sull'appliance è inferiore al 5%. Si consiglia di aumentare la dimensione del volume.

Lo spazio su disco disponibile per il volume del contenuto è inferiore all'1%

Lo spazio su disco disponibile per il volume del contenuto sull'appliance è inferiore all'1%. È richiesta attenzione immediata perché potrebbe verificarsi una perdita di dati.

Prestazioni

Le prestazioni di TOMCAT possono risultare ridotte quando viene attivata la registrazione (registrazione degli errori abilitata logs_enabled = yes oppure registrazione dell'accesso abilitata enable_access_log = yes. La tabella di seguito presenta i risultati di benchmark (specificati in unità di rps - richieste al secondo) quando i log sono disabilitati con l'utility di benchmark di Apache inclusa nel server Web Apache versione 2.0 e 2.2. Per maggiori informazioni, visitare il sito Web di Apache. Le seguenti impostazioni sono state utilizzate per il benchmarking: "bw=500M mem=2G cpu=2".

concomitanza

rps

concomitanza di 1 client

2800-3200 rps

concomitanza di 10 client

7500-7900 rps

concomitanza di 100 client

7700-8100 rps

Utilizzo tipico

Sito Web abilitato a Java semplice

TOMCAT serve le applicazioni dal volume di contenuto.

Appliance in uso:

Nome di proprietà

Valore

Note

hostname

www.mysite.org

Nome host di sito.

app_base

MyApp

 

content_on_fs

off

TOMCAT usare il contenuto del volume utente per tutto il contenuto.

fuso orario

EST

Fuso orario di EST.

tomcat_port

80

Porta standard per il protocollo HTTP.

Le richieste del client arrivano sul gateway IN. Il gateway inoltra le richieste al server TOMCAT, che serve la richiesta.

Applicazione a due livelli con database, log e monitoraggio

Appliance in uso:

Esempio di configurazione delle proprietà:

Nome di proprietà

Valore

Note

hostname

www.mysite.org

Nome host di sito.

app_base

MyApp

 

content_on_fs

on

TOMCAT usa l'archiviazione remota dal terminale di fs per tutto il contenuto

fuso orario

EST

Fuso orario di EST

tomcat_port

80

Porta standard per il protocollo HTTP.

max_connections

200

Max di 200 utenti concorrenti

logs_enabled

Abilita i log di errore

logs_base_dir

MyApp_Log_Dir

 

log_level

INFO

 

error_log_filename

error_log

Nome di log di errori

enable_access_log

Abilita il log di accesso

access_log_filename

myapp_access

Nome di log di accesso

La richiesta client arriva sul gateway IN. Il gateway inoltra le richieste al server TOMCAT, che serve la richiesta. Il contenuto e i log sono su appliance di archiviazione. I contatori sono riportati sull'appliance di MON.

Nota: Le applicazioni Java possono usare molti tipi di database. Dipende soltanto dalla presenza di un driver JDBC appropriato nell'applicazione. TOMCAT autorizza la connessione a qualsiasi appliance di database al suo terminale di db.

WEB5 come front-end per TOMCAT

Il diagramma di seguito mostra un uso tipico dell'appliance di TOMCAT come server di applicazione e WEB5 come front-end: WEB5 serve contenuto statico e ridirige tutte le richieste che richiedono l'elaborazione sul lato server al TOMCAT usando il protocollo di AJP.

TOMCAT appliance as application server and WEB5 as frontend

Nota: È necessario abilitare il supporto di AJP (abilitare mod_proxy e mod_proxy_ajp) in WEB5 per questa modalità.

Appliance in uso:

Esempio di configurazione delle proprietà:

Nome di proprietà

Valore

Note

content_on_fs

off

TOMCAT usa il contenuto del volume utente per tutto il contenuto.

fuso orario

EST

Fuso orario di EST

Altre impostazioni hanno i loro valori predefiniti.

WEB5 deve essere configurato per operare come front-end e comunicare con TOMCAT mediante protocollo di AJP.

mod_proxy e mod_proxy_ajp devono essere abilitati per includere le linee successive nella configurazione di apache

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 

è necessario specificare alcuni percorsi di spazio url per servire TOMCAT, per esempio

ProxyPass /path-that-served-by-tomcat ajp://aux:8009/some-servlet
ProxyPassReverse /path-that-served-by-tomcat ajp://aux:8009/some-servlet

Ad esempio:

percorso

contenuto

servito da

/index.html

documento HTML statico

servito da WEB5

/images/*

file grafici statici

servito da WEB5

/scripts/*.php

contenuto dinamico generato dagli script php

servito da WEB5

/path-that-served-by-tomcat

contenuto dinamico generato da jsp

servito da TOMCAT

La richiesta client arriva sul gateway IN. Il gateway inoltra le richieste al server Web di frontend, che serve le richieste per le pagine HTML statiche, i file grafici e gli script grafici. Le richieste per le pagine jsp o le pagine servlet sono inoltrate ad AppServer e servite da quel punto.

Sito Web abilitato a Java scalabile

Appliance in uso:

Esempio di configurazione di proprietà per AppServer1 e AppServer2:

Nome di proprietà

Valore

Note

content_on_fs

off

TOMCAT usa il contenuto del volume utente per tutto il contenuto.

fuso orario

EST

Fuso orario di EST

Altre impostazioni hanno i loro valori predefiniti.

La richiesta client arriva sul gateway IN. Il gateway inoltra le richieste all'utilità di bilanciamento del carico Web, che indirizza la richiesta a uno dei server AppServer1 e AppServer2.

Note

Software Open Source e di terze parti utilizzato all'interno dell'appliance

TOMCAT e TOMCAT64 usano i seguenti pacchetti Open Source di terze parti oltre ai pacchetti Open Source di terze parti usati dalla loro classe base LUX5 e LUX64.

TOMCAT

Software

Versione

Modificato

License

Note

Apache Tomcat

5.5.28

Apache License v2.0

Home page

JDK

1.6.0.18

No

Sun-BCL

disponibile su sito Web di Sun

samba-client

3.0.28-0.el5.8

No

GPLv2

N/D

samba-common

3.0.28-0.el5.8

No

GPLv2

N/D

TOMCAT64

Software

Versione

Modificato

License

Note

Apache Tomcat

5.5.28

Apache License v2.0

Home page

JDK

1.6.0.18

No

Sun-BCL

disponibile su sito Web di Sun

samba-client

3.0.28-1.el5_2.1

No

GPLv2

N/D

samba-common

3.0.28-1.el5_2.1

No

GPLv2

N/D