--- Em zope-pt@yahoogrupos.com.br, "Fabiano Weimar dos Santos" <[EMAIL PROTECTED]> escreveu
Caros, O site hoje está com 50.000 notícias e a performance está inaceitável. 1. Utilizamos BTreeFolder para armazenar as notícias. 2. Existe um indíce para as datas. 3. As pesquisas usam exclusivamente o portal_catalog e as listagens não invocam o getObject(), usando apenas os Brains. 4. Não há um grande número de usuários acessando o site. O servidor é quadriprocessado com 4 GB de RAM. Será que o Zope/Plone é recomendado apenas para pequenas soluções? Existe algo que seja feito para "prepará-lo" para grandes volumes de informação? Abs, > > 2008/3/6 vinicius_marco <[EMAIL PROTECTED]>: > > > Não sei se você percebeu, mas para um volume de informações como esse, > > > eu acho que vale a pena tomar cuidado e adotar soluções de SGDB > > > relacional e indexação externa (estilo XAPIAN)/Lucene). > > > > Pois.. mas o ZODB não é otimizado para gerenciar e buscar conteúdo? > > Não é esse o propósito? Vou ter que apelar para o relacional por causa > > de volume? > > Como eu disse, talvez. > > > Uma pasta por dia? Certo, mas aí vem uma dúvida. Como otimizo uma > > busca que envolva 10 dias de notícias? Dá para informar mais de um > > path para o portal_catalog numa única consulta? Se eu não informar o > > path a pesquisa será feita em todos os milhares de registros sem > > necessidade. > > Para fazer buscas por data, use um DateIndex e não busca por path. > > > Não.. Mas supondo que seja isso. Não há solução? Não dá para fazer uma > > leitura bufferizada e ir persistindo em disco imediatamente? O commit > > feito em nosso código melhorou a performance, mas não foi o suficiente. > > Persistir imediatamente significa fazer um commit para cada objeto. > Isso com certeza tornaria as transações menos e o consumo de memória > seria menor, mas terias mais atividade de IO (disco). > > -- > Fabiano Weimar dos Santos (xiru) > Weimar Consultoria > > Hospedagem Plone, Zope e Python > http://www.pytown.com >