Ottimizzazione di JVM
Sono disponibili alcune impostazioni JVM consigliate per l'ottimizzazione delle prestazioni in ThingWorx. L'ottimizzazione di altri parametri JVM rispetto a quelli elencati di seguito è specifica del carico di lavoro e dipende dalle applicazioni create con ThingWorx. Per un'ottimizzazione specifica in funzione dell'ambiente in uso, contattare il supporto tecnico PTC.
Impostazioni obbligatorie
Impostazione
Descrizione
-server
Indica esplicitamente a JVM di eseguire la modalità server. L'esecuzione nella modalità server è l'impostazione di default quando si utilizza JDK a 64 bit, tuttavia è buona pratica dichiararla.
-d64
Indica esplicitamente a JVM di eseguire la modalità a 64 bit. JVM corrente rileva automaticamente questa modalità, tuttavia è buona pratica dichiararla.
XX:+UseG1GC
Indica a JVM di utilizzare Garbage First Garbage Collector.
-Dfile.encoding=UTF-8
Indica a JVM di utilizzare UTF-8 come set di caratteri di default in modo da consentire la corretta visualizzazione degli alfabeti non occidentali.
-Djava.library.path
Specifica il percorso della libreria nativa.
-Xms3072m (per un sistema con 4 GB di memoria)
Indica a JVM di allocare almeno 3072 MB di memoria al processo di Tomcat. È consigliabile allocare il 75% della memoria di sistema disponibile.
* 
La quantità di memoria deve essere ottimizzata a seconda dell'ambiente in uso.
-Xmx3072m (per un sistema con 4 GB di memoria)
Indica a JVM di limitare la memoria massima per il processo di Tomcat. È consigliabile allocare il 75% della memoria di sistema disponibile.
* 
La quantità di memoria deve essere ottimizzata a seconda dell'ambiente in uso. 5 GB di memoria sono un buon punto di partenza per 100.000 oggetti.
* 
Il motivo per cui si impostano le quantità minima e massima di memoria sullo stesso valore è che in questo modo si induce JVM a rivalutare la memoria richiesta e a ridimensionare l'allocazione in fase di esecuzione. Mentre questo approccio è consigliabile per gli ambienti ospitati e/o pubblici, per gli ambienti di sviluppo e di test è sufficiente utilizzare l'opzione –Xms512m. Verificare inoltre di lasciare memoria sufficiente a consentire il funzionamento del sistema operativo.
Impostazioni facoltative per attivare il monitoraggio JMX
Se si sospetta l'esistenza di problemi di memoria, fare riferimento agli strumenti che seguono per ulteriori informazioni sul monitoraggio del sistema. L'impostazione elencata consentirà di connettere tali strumenti all'istanza Tomcat utilizzata da ThingWorx per monitorare le caratteristiche JVM.
Impostazione
Descrizione
-Dcom.sun.management.jmxremote
Notifica a JVM che si intende monitorarlo in remoto tramite JMX.
-Dcom.sun.management.jmxremote.port=22222
Porta che JVM deve aprire per il monitoraggio.
-Dcom.sun.management.jmxremote.ssl=false
Nessun utilizzo di SSL.
-Dcom.sun.management.jmxremote.authenticate=false
Nessuna autenticazione richiesta.
-Djava.rmi.server.hostname=<host o IP>
Nome host o indirizzo IP che viene utilizzato dalla connessione client RMI sottostante.