Investigando um problema de performance em uma aplicação desenvolvida por nosso colega Juracy Filho, descobrimos um sério problema de performance.
A aplicação dele usa containers BTreeFolder e estava demorando até 5 minutos para gravar um novo registro. Alteração e listagem com boa performance. Ao debugar o problema descobrimos que o método contentIds em: Products.CMFCore.PortalFolder.contentIds() Acorda todos os objetos do container Btree, pois retorna uma chamada de _filteredItems(). Mas por que um método que deveria retornar apenas os Ids, chama um método que retorna Items? A solução foi modificar: _at_rename_after_creation = False Pois ele é que precisa do método contentIds() Porém a melhor solução seria fazer uma sobrecarga desse método em CMFBtreeFolder ou em BaseBtreeFolder. Recentemente eu criei uma base de testes com 70000 objetos em um único container Btree e fiquei muito insatisfeito com o resultado. Ele gerou um Data.fs de 700MB e cerca de 50s para abrir cada página, com acesso a disco muito alto. Isso compromete muito a escalabilidade do Zope :-(. -- Rudá Porto Filgueiras Empresa Livre http://www.empresalivre.com.br Para enviar uma mensagem: zope-pt@yahoogrupos.com.br Para desistir envie uma mensagem em branco para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/zope-pt/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html