[Erp5-poland] testowanie wydajności, szukanie wąskich gardeł - UI i odczucia userów

bartek bartek w erp5.pl
Pon, 26 Lis 2007, 10:30:30 CET


Łukasz Nowak wrote:
> Witam,
> 
> Wstępem - czy wydaje mi się, czy Zope-2 jest szybkościowo-wydajnościowy
> słaby? I wcale się nie skaluje - bez użycia ZEO czy clusteringu?
> Zakładam, że tak.

Nie wiem czy to jest akurat zope-2 (tj nie wiem czy zope-1 i zope-3 są 
jakoś znacząco szybsze), ale generalnie rzeczywiście rakieta to nie jest.

> 
> Mamy coraz więcej różnorodnie powiązanych ze sobą danych w systemie. Od
> pewnego czasu zaczynają być problemy z wydajnością. Np. wyświetlanie
> accounting_module listboxa trwa...8 sekund. Niektóre raporty generują
> się po 20 sekund, a sposób ich używania czy potrzeby firmy zakładają,
> że powinny być dostępne w 1-2 sekundy.
> 

Można by spróbować przechowywać wartości które są często wyliczane. Np 
wyliczenie stanu magazynowego dla produktu to jest sporo pracy dla 
systemu, a prawdopodobnie robisz to bez przerwy do prawie każdego 
raportu. Można by więc wyliczać stan przy pomocy interaction workflow i 
przechować go gdzieś - GuidelinesForCodingCrimes podają dwa rozwiązania, 
poza tym być może można by wykorzystać cache (jeżeli tylko da się 
odświeżyć cache dla konkretnej wartości a nie od razu cały, trzeba by 
zajrzeć do API).

Bartek

> Mam ogólne pytanie - w jaki sposób - nie uciekając się do technologii
> testowania UI w stylu mechanize, etc - wytestować wydajność formatek?
> Byłbym wdzięczny za URI na sieci do analizy problemu. Na razie moje
> profilery są dość proste:
> 
> ==SNIP==
> ## Script (Python) "profik"
> ##bind container=container
> ##bind context=context
> ##bind namespace=
> ##bind script=script
> ##bind subpath=traverse_subpath
> ##parameters=
> ##title=
> ##
> for i in range(1,6):
>   b = DateTime().timeTime()
>   context.accounting_module.view()
>   e = DateTime().timeTime()
> 
>   print i,e-b
> 
> request=context.REQUEST
> request.RESPONSE.setHeader('Content-type', 'text/plain')
> return printed
> ==SNIP==
> 
> Mam zamiar potworzyć sobie klasy, które wyliczą średnie czasy generacji
> różnych formatek na portal type'ach, z ewentualnym testowaniem wywołań
> okrojonych (np. listbox z mniejszą ilością kolumn, aby stwierdzić, czy
> jakaś konkretna nie kładzie systemu na kolana).
> 
> Jeśli jesteście zainteresowani współpracą, macie propozycje, uwagi czy
> znacie już temat byłbym wdzięczny za sugestie.
>
> Miłego weekendu,
> Łukasz
> 


-- 
"feelings affect productivity. (...) unhappy people write worse 
software, and less of it."
Karl Fogel, "Producing Open Source Software"



More information about the Erp5-poland mailing list