SauZheR at gOOgle ha scritto:
salve a tutti.

Mi son trovato alle prese con una di quelle applicazioni lampo (noi qui le chiamiamo panzerotti) di raccolta dati, messo su in un paio di gg. Plone3, buildouts e company.

Ho messo su il prodottino creando un ATContentType. Ma di particolare questa volta c'era un aggancio piuttosto stretto con un db relazionale e ho creato una decina di ComputedField agganciati a Zsqlmethod, e ho aggiornato gli indici/metadata del portal_catalog
per avere tutto pronto durante le validazioni e viste varie.

Il gruppo di dataentry (8 persone) sta lavorando da 3 gg e ha caricato circa 7000 oggetti. E tutto sembra funzionare da dio coi complimenti dei dataentry.

Il problema (relativo) e' che il Data.Fs tende a crescere molto, nel giro di 8 ore supera i 2 giga, ma un pack lo riporta ad appena 60 mega!!

I dataentry non fanno altro che "aggiungere nuovo elemento" (un campo matricola) e al salvataggio i computed field recuperano tutti i campi rimanenti. Non ci sono variazioni di workflow, modifiche agli oggetti (se non 1 ogni 50 o 100 inserimenti), insomma nn c'e' ragione che il data.fs possa crescere in questa maniera.

Si puo' pensare che venga eseguita piu' volte una stessa operazione... ma anche se l'inserimento di un oggetto produce 10 modifiche (quindi 10 transazioni) sul data.fs ... questo sarebbe 10 volte piu' grosso (600 mega).... io qua ho 2 giga confrontati con 60 mega e rimango alquanto disorientato.


Prova su una copia dell'applicazione ad eliminare portal_factory per quel content type. Inoltre è normale con archetype avere transizioni inutili e quindi una crescita inutile del Data.fs.

http://article.gmane.org/gmane.comp.web.zope.plone.devel/18462


We'd need more benchmarks and objective debugging to be sure, though.

Some basic calculation: in our ZEO setup we have a throughput of roughly 2-3 MB/second when reading from ZEO - writing is likely slower. If a transaction size of let's say 100KB you can easily calculate how much write per second
you can get in the best case (without having considered other bottlenecks).
So if someone raises the question "can Plone handle 100 concurrent users", the answer is likely: no.

Andreas


Possibly related to versioning. The transaction size reduces to 20KB
with versioning disabled. But isn't versioning an explicit operation (you have to will out the "change not" field?..but anyway 20K is still too much.


Agreed this is still too much, but after packing the database without versioning the size reduces to just a few bytes more, with versioning enabled it stays considerably larger.

In the default settings versioning is an implicit operation. Whenever you change an item (be it using inline-edit or the edit screen) a new version is created. The 'change note' is additional metadata you can provide.

etc etc :)

Vi siete mai trovati in una situazione del genere?

alessandro.

--
 bye
SauZheR
************************************
l'iterazione è umana...
la ricorsione, Divina!
************************************
reply to: sauzher AT gmail DOT com
------------------------------------------------------------------------

_______________________________________________
Plone-IT mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html


_______________________________________________
Plone-IT mailing list
[email protected]
http://lists.plone.org/mailman/listinfo/plone-it
http://www.nabble.com/Plone---Italy-f21728.html

Rispondere a