Jari Häkkinen writes:
 > Hi all,
 > 
 > The 2.11 release will target performance issues. The next release is 
 > 2.10 but we have not set a dead line for the 2.10 release yet. However, 
 > a hopefully performance boosted BASE 2.11 should be out during the 
 > spring, until then we have to live with some slow BASE clicks. I agree 
 > with Pawel that the Experiment overview is way too slow. The BASE team 
 > is aware of several performance issues but we have so far not 
 > prioritized them.
 > 
 > Please contribute with performances issues to be examined and also ideas 
 > on how to resolve them.

Just to remind you about
http://base.thep.lu.se/ticket/903

which highlights a payoff between fast bioassayset creation and slow
experiment explorer browsing.

But I see that Jari has already commented on the ticket a few months ago so is
probably aware of it.

regards,
Bob.

 > 
 > 
 > Jari - Change we believe in ... an even better BASE.
 > 
 > 
 > Pawel Sztromwasser wrote:
 > > Hi Nicklas,
 > > 
 > > I agree that the query is rather complex and has to take some time to 
 > > execute, but over 200ms? Besides, the effect that it is causing 
 > > (extremely long experiment overview loading) is really annoying.
 > > I had a look at db server logs and found the query:
 > > 
 > > 
 > > select distinct annotation0_."id" as id1_0_0_,
 > >            annotation6_."id" as id1_6_1_,
 > >            annotation0_."version" as version2_0_0_,
 > > 
 > >            ... fields from annotation0_ and annotation6_ tables...
 > > 
 > >            annotation6_."projectkey_id" as projectkey19_6_1_,
 > >            annotation6_."owner" as owner20_6_1_
 > > from "Annotations" annotation0_
 > >    left outer join "InheritedAnnotations" inheriting1_ on 
 > > annotation0_."id"=inheriting1_."annotation_id"
 > >    left outer join "AnnotationSets" annotation2_ on 
 > > inheriting1_."annotationset_id"=annotation2_."id"
 > >    left outer join "AnnotationSets" annotation3_ on 
 > > annotation0_."annotationset_id"=annotation3_."id"
 > >    left outer join "InheritedAnnotationSets" inheriting4_ on 
 > > annotation3_."id"=inheriting4_."inherited_id"
 > >    left outer join "AnnotationSets" annotation5_ on 
 > > inheriting4_."annotationset_id"=annotation5_."id"
 > >    inner join "AnnotationTypes" annotation6_ on 
 > > annotation0_."annotationtype_id"=annotation6_."id"
 > > where annotation2_."id"=$1 or annotation5_."id"=$1 order by 
 > > annotation6_."name" ASC
 > > 
 > > 
 > > It contains 3 joins with no reason (adding AnnotationSets table 3 times, 
 > > never using fields exclusively belonging to it). When I removed the 3 
 > > joins (and fixed dependencies) the FROM-WHERE part looks like:
 > > 
 > > 
 > > from "Annotations" annotation0_
 > >    left outer join "InheritedAnnotations" inheriting1_ on 
 > > annotation0_."id"=inheriting1_."annotation_id"
 > >    left outer join "InheritedAnnotationSets" inheriting4_ on 
 > > annotation0_."annotationset_id"=inheriting4_."inherited_id"
 > >    inner join "AnnotationTypes" annotation6_ on 
 > > annotation0_."annotationtype_id"=annotation6_."id"
 > > where inheriting1_."annotationset_id"=$1 or 
 > > inheriting4_."annotationset_id"=$1 order by annotation6_."name" ASC
 > > 
 > > 
 > > New query executes in ~5ms, so much faster. I am not sure how easy it is 
 > > to apply the fix on the java-code level, but I guess it should be possible.
 > > 
 > > Another way for quick and easy fix is to perform two queries and merge 
 > > results: one query for directly inherited annotations (WHERE 
 > > inheriting1_."annotationset_id"=$1) and the other for indirectly 
 > > inherited (WHERE inheriting4_."annotationset_id"=$1).
 > > Each of these queries runs ~2.5ms and merging to lists in java shouldn't 
 > > take too long either. The only problem I see could be duplicate elements 
 > > on the merged list, but as long as annotation can't be inherited 
 > > directly and indirectly by the same annotation set, the fix should work.
 > > 
 > > Will you consider applying the fix to one of the next releases?
 > > 
 > > Pawel
 > > 
 > > 
 > > Nicklas Nordborg wrote:
 > >> Pawel Sztromwasser wrote:
 > >>> Hello,
 > >>>
 > >>> We have noticed that Experiment overview is very slow for large 
 > >>> experiments (>40 raw bioassays) with many items annotated (mainly 
 > >>> samples). I takes over a minute for some of the experiments to load 
 > >>> overview (or re-validate). I narrowed the issue down to this line:
 > >>>
 > >>> List<Annotation> inherited = annotationQuery.list(dc);
 > >>>
 > >>> in addAnnotations(..) method (ExperimentOverview.java).
 > >>>
 > >>> The list(dc) method takes ~200ms to complete. It is not much, but 
 > >>> multiplied by number of items on the way from rawbioassay down to 
 > >>> biosource (annotations are checked for each of them) and by number of 
 > >>> rawbioassays... it causes most of the delay.
 > >>>
 > >>> Does anybody see similar problem? It is probably just a non-optimal 
 > >>> postgres query, if experiment overview works fine on mysql dbs.
 > >> Annotations are rather expensive in terms of database access. Each value 
 > >> usually needs 2 separate queries to retrieve. In other words, it is not 
 > >> unusual that it takes a lot of time.
 > >>
 > >> /Nicklas
 > >>
 > >> ------------------------------------------------------------------------------
 > >> This SF.net email is sponsored by:
 > >> SourcForge Community
 > >> SourceForge wants to tell your story.
 > >> http://p.sf.net/sfu/sf-spreadtheword
 > >> _______________________________________________
 > >> The BASE general discussion mailing list
 > >> basedb-users@lists.sourceforge.net
 > >> unsubscribe: send a mail with subject "unsubscribe" to
 > >> basedb-users-requ...@lists.sourceforge.net
 > > 
 > > 
 > > ------------------------------------------------------------------------------
 > > This SF.net email is sponsored by:
 > > SourcForge Community
 > > SourceForge wants to tell your story.
 > > http://p.sf.net/sfu/sf-spreadtheword
 > > _______________________________________________
 > > The BASE general discussion mailing list
 > > basedb-users@lists.sourceforge.net
 > > unsubscribe: send a mail with subject "unsubscribe" to
 > > basedb-users-requ...@lists.sourceforge.net
 > 
 > ------------------------------------------------------------------------------
 > This SF.net email is sponsored by:
 > SourcForge Community
 > SourceForge wants to tell your story.
 > http://p.sf.net/sfu/sf-spreadtheword
 > _______________________________________________
 > The BASE general discussion mailing list
 > basedb-users@lists.sourceforge.net
 > unsubscribe: send a mail with subject "unsubscribe" to
 > basedb-users-requ...@lists.sourceforge.net

-- 
Bob MacCallum | VectorBase Developer | Kafatos/Christophides Groups |
Division of Cell and Molecular Biology | Imperial College London |
Phone +442075941945 | Email r.maccal...@imperial.ac.uk

------------------------------------------------------------------------------
This SF.net email is sponsored by:
SourcForge Community
SourceForge wants to tell your story.
http://p.sf.net/sfu/sf-spreadtheword
_______________________________________________
The BASE general discussion mailing list
basedb-users@lists.sourceforge.net
unsubscribe: send a mail with subject "unsubscribe" to
basedb-users-requ...@lists.sourceforge.net

Reply via email to