Recentemente ho riscontrato una situazione in cui la mia istanza CouchDB utilizzava tutto lo spazio disponibile su un'istanza VM da 20 GB. Dopo un'indagine ho scoperto che una directory in/usr/local/var/lib/couchdb/conteneva un gruppo di file .view, il più grande dei quali era di 16 GB. Sono stato in grado di rimuovere i file * .view per ripristinare il normale funzionamento. Non sono sicuro del motivo per cui i file .view sono cresciuti così tanto e come CouchDB gestisce i file .view.CouchDB .view file in crescita fuori controllo?
Un po 'più di informazioni. Ho una macchina virtuale con Ubuntu 9.10 (karmico) con 512 MB e CouchDB 0.10. La VM ha un processo cron che richiama uno script Python che interroga una vista. Il lavoro cron viene eseguito una volta ogni cinque minuti. Ogni volta che viene interrogata la vista, la dimensione di un file .view aumenta. Ho scritto un lavoro per monitorarlo su base oraria e dopo alcuni giorni non vedo il file che si sta capovolgendo o diminuendo di dimensioni.
Qualcuno ha qualche approfondimento su questo problema? C'è un pezzo di documentazione che ho perso? Non sono stato in grado di trovare nulla sull'argomento, ma potrebbe essere dovuto a cercare nei posti sbagliati o ai miei termini di ricerca.
I documenti sono grandi e modifiche ai documenti sono significativi. Tutto ciò ha senso. La ringrazio per la risposta. Ma CouchDB non si ripulisce da solo? O è lasciato all'amministratore? Sembra rotto o mi manca qualcosa? –
CouchDB richiede di eseguire la compattazione per recuperare spazio su disco. Quando ciò può essere fatto è altamente dipendente dal proprio ambiente. Normalmente lo faresti quando il carico sul server è basso, attivandolo con un cron job. Se si dispone di repliche, è necessario comprendere anche in che modo può influire sulla replica. – Kerr
Non sono d'accordo con "se le tue visualizzazioni sono molto grandi per un determinato set di documenti, potresti avere una vista mal progettata". Il "può" è lì, ma l'autore dovrebbe sottolineare che una piccola vista non è necessariamente veloce per l'applicazione. Per esempio. un op come '? include_docs' è molto intenso che rende comprensivi i documenti completi nella vista necessaria per le prestazioni. Anche in questo caso CouchDB scambia lo spazio su disco per le prestazioni. – Till