maxFileSize
Domanda / Problema
Che cos'è il Tar Persistence Manager e come configurarlo?
Risposta/Risoluzione
Tar Persistence Manager
Puoi memorizzare i contenuti CRX in un Persistence Manager. Per impostazione predefinita, quando si installa CRX 1.4, il gestore della persistenza salva il contenuto dell'archivio in file tar.
Scopo
Il Tar Persistence Manager (Tar PM) è un gestore di persistenza basato su disco che utilizza il formato di file tar per l'archiviazione dei contenuti ed è utile in situazioni in cui sono richieste elevate prestazioni di creazione e modifica dei dati (poiché il formato Tar è append-only, quindi le scritture sono molto efficienti).
Il clustering Tar PM consente a CRX di compensare i guasti hardware e software eliminando un unico punto di guasto (un server) mentre si utilizzano applicazioni senza modifiche. A differenza del clustering storage basato su un database server (disponibile anche in CRX), il clustering Tar PM si basa su file system in rete.
Tar PM contro una PM basata su RDBMS
Sia le PM Tar che le PM basate su database supportano le transazioni, qualsiasi file system e l'ottimizzazione a runtime o in modalità batch. Anche se il Tar PM è una nuova tecnologia, presenta i seguenti vantaggi rispetto all'utilizzo di un gestore di persistenza basato su database:
- I file Tar sono append-only.
- I file Tar possono essere facilmente sottoposti a backup online.
- Tar è un formato di file standard, accessibile tramite strumenti noti, come tar, WinZip e così via.
- Tar è un formato indipendente dalla piattaforma.
- Basso costo di proprietà e licenza.
- Tar PM è progettato specificamente per i depositi JCR.
- Tar PM è più veloce dei gestori di persistenza basati su RDBMS per il caso d'uso del JCR.
- Il Tar PM sfrutta la struttura dati a coppie chiave-valore molto semplice di CRX.
Configurazione del PM Tar PM
Le opzioni di configurazione sono:
<PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager"> <param name="maxFileSize" value="256"/> <param name="autoOptimizeAt" value="2:00-5:00"/> <!-- since 1.4.1 --> <param name="bindAddress" value=""/> <param name="portList" value=""/> <param name="preferredMaster" value="false"/> <param name="lockClass" value="com.day.crx.util.NativeFileLock"/> <param name="lockTimeout" value="0"/> <param name="fileMode" value="rw"/> <param name="optimizeSleep" value="1"/> <param name="maxIndexBuffer" value="32"/> </PersistenceManager>
|
(opzionale, il valore predefinito è 256) Se il file di dati corrente cresce più di questo numero (in megabyte), viene ingrandito un nuovo file di dati (ciò significa che, se l'ultima voce in un file è molto grande, un file di dati può effettivamente essere molto più grande, poiché le voci non sono divise tra i file). La dimensione massima del file è 1024 (1 GB). I file di dati vengono mantenuti aperti durante l'esecuzione. A seconda della quantità di dati memorizzati nel PM Tar, questo valore deve essere aumentato o il limite di file aperti per processo deve essere regolato. Se questo valore viene cambiato quando i file tar esistono già, i nuovi file tar crescono fino a questa dimensione (i file esistenti non vengono modificati). |
autoOptimizeAt |
(opzionale, il valore predefinito è 2:00-5:00) Ottimizza automaticamente all'ora indicata. Quando l'ottimizzazione viene eseguita. Esempio: 2:00 per ottimizzare automaticamente ogni mattina alle due. Se necessario, anche i file di indice vengono uniti. Per disabilitare l'ottimizzazione automatica, imposta il valore su "-0" (che in realtà significa 'stop optimization at midnight'). |
bindAddress |
Se la sincronizzazione tra i nodi del cluster dovrebbe essere fatta su una specifica interfaccia di rete. Per impostazione predefinita vengono utilizzate tutte le interfacce di rete. Predefinito: vuoto (utilizzare tutte le interfacce). |
portList |
L'elenco delle porte da utilizzare in modalità master. Per impostazione predefinita viene utilizzata una qualsiasi porta libera. Quando si utilizza un firewall, le porte aperte devono essere elencate. È necessaria una porta per ogni spazio di lavoro. È supportato un elenco di porte o intervalli, ad esempio: 9100-9110 o 9100-9110,9210-9220. Predefinito: 0 (qualsiasi porta). |
preferredMaster |
Applicabile solo in un ambiente di clustering. Se abilitato, questo nodo cluster cerca di diventare il master anche se un altro nodo cluster è stato avviato in precedenza. Predefinito: falso (non abilitato) |
lockClass |
Il nome della classe da utilizzare per la chiusura. Sono supportati com.day.crx.util.NativeFileLock and com.day.crx.util.CooperativeFileLock. Quando si utilizza un file system che non supporta il blocco dei file (ad esempio alcune versioni precedenti di NFS), si deve utilizzare la classe di blocco cooperativa. Predefinito: com.day.crx.util.NativeFileLock |
bloccoTimeout |
Quando si usa il clustering, il tempo massimo (in millisecondi) di attesa per bloccare i file condivisi. Predefinito: 0 per nessun limite. |
modalità file |
La modalità file come aprire i file di dati. Le opzioni sono "rw" (lettura-scrittura), "r" (sola lettura), "rwd" (lettura-scrittura, il contenuto viene scritto in modo sincrono), e "rws" (lettura-scrittura, i cambiamenti di contenuto e metadati vengono scritti in modo sincrono). Facoltativamente un + può essere aggiunto per chiamare fsync dopo la scrittura (tuttavia questo rallenta molto la scrittura). Predefinito: "rw" per lettura-scrittura. |
optimizeSleep |
(optional, default is 1) Il numero di millisecondi da attendere dopo l'ottimizzazione di una transazione. La precisione in virgola mobile è supportata. |
maxIndexBuffer |
(opzionale, l'impostazione predefinita è 32) Dopo una terminazione anomala, al massimo questi dati (in megabyte) devono essere scansionati per ricreare l'indice della voce tar. |
I valori di configurazione vengono letti all'avvio dell'archivio; ciò significa che si potrebbe voler riavviare l'archivio dopo aver cambiato la configurazione.Nota: Se si modifica la configurazione dopo che è già stato creato un'area di lavoro, è necessario modificare sia il file repository.xml che il file workspace.xml.
Ottimizzazione dei file tar
Vedi Ottimizzazione TarPM
Controllo di coerenza e fissaggio
Il PM Tar può controllare la consistensty dell'archivio e risolvere i problemi di consistency all'avvio. per abilitare il controllo di consistency e risolvere automaticamente i problemi, imposta le seguenti opzioni nel repository.xml e nel workspace.xml, e riavvia CRX:
<param name="consistencyCheck" value="true"/> <param name="consistencyFix" value="true"/>
Per risolvere i problemi di consistency, l'impostazione del controllo di consistency deve essere abilitata.
Al termine del controllo di consistency, disattivare le impostazioni pertinenti, altrimenti il controllo di consistenza viene sempre eseguito all'avvio di CRX.
Se i file Tar diventano grandi
Se alcuni dati*.tar file sono molto grandi, ci sono grandi transazioni. Le grandi transazioni sono un problema (in ogni caso - non solo per il PM Tar, ma anche per la memoria principale e altri sottosistemi). È possibile analizzare ciò che si trova in un file dati*.tar utilizzando il file jsp nell'allegato.
Migrazione dall'ambiente regolare a quello a cluster
Il modo più semplice per migrare in un ambiente cluster è esportare i dati, modificare la configurazione e quindi importare i dati.
Migrazione da un ambiente raggruppato a un ambiente regolare
Il modo più semplice per migrare in un ambiente regolare è esportare i dati, modificare la configurazione e quindi importare i dati.
Versioni interessate
CRX 1.4.1 e 1.4.2
Scarica
Scarica