Clusters CF/Jrun e garbage collector a cada 60 segundos
Publicado; 20/01/2006 Arquivado em: ColdFusion 1 comentárioInteressante informação e dica para evitar problemas com o garbage collector rodando a cada minuto no seu cluster CF/Jrun (na verdade eu verificaria até mesmo em instâncias simples, sejam elas de CF server config ou multiple server config). O garbage collector é um recurso do JVM (necessário diga-se), que consome processamento e pode degradar significativamente a performance do seu servidor se executado em intervalos muito curtos, concorrendo com o processamento natural da sua aplicação.
ColdFusion-JRun Clustering – An Important Thing To Check
Especialmente problemático em pilhas/heaps muito grandes (com mais de 512Mb) pois o tempo para analisar e expurgar porcaria e objetos velhos de tanta memória é bem significativo.
Adicionalmente, falando de performance de garbage collector, vale a pena ver este antigo post. O argumento de inicialização AgressiveHeap pode ajudar o processo de garbage collection rodar mais rápido se sua máquina for bi (ou mais) processada.
Só precisa de coletor de lixo linguagens mal implementadas que geram lixo (praticamente todas, especialmente se foram escritas em linguagem C). A raiz de tudo é que as linguagens guardam variáveis em lugares “definitivos”, em geral no alto da memória livre. Tudo isto poderia ser muito simplificado se as linguagens utilizassem pilhas de dados para guardar variáveis, como linguagem Forth. Pilha de dados lavou, tá nova.