[ome-devel] Omero server performance issue

Luca Lianas luca.lianas at crs4.it
Thu Aug 6 11:50:22 BST 2009


Hi Chris

thanks for your advice. As suggested by you, I modified the script and
created only 4 LogicalChannelI objects linked to the image's channels (I
looked into the xml model file and found the many-to-one relationship
between channel and logicalchannel), now the execution time takes only 13
minutes.
I attach the script in order to provide an example if anybody needs one.

Luca


2009/8/5 Chris Allan <callan at blackcat.ca>

> Hi Luca,
>
> One big thing is to be very careful with enumerations:
>
> 26       do = om.model.DimensionOrderI()
> 27       do.setValue(omt.rstring('XYZCT'))
> 28       pt = om.model.PixelsTypeI()
> 29       pt.setValue(omt.rstring('uint16'))
>
> This is creating brand new enumerations for every image inserted, which
> will slow any enumeration queries to a crawl and is causing 3000 extra
> INSERTs, significant graph inspection overhead, etc. You want to
> retrieve the existing enumerations through IQuery and then use an
> unloaded version of the object to help you out, for example
> (pseudo-code):
>
> ...
> dimension_orders = iquery.findAll("DimensionOrder")
> xyzct = filter(lambda a: a.value.val == 'XYZCT')[0]
> syzct.unload()
> ...
> for image in range(0, 100):
> ...
>    p.setDimensionOrder(xyzct)
>
> The above applies to FormatI, DimensionOrderI and PixelsTypeI. In fact,
> you've sort of corrupted your database in a way for the particular user
> you've logged in as by adding 1000's of bogus enumerations.
>
> Give that a try first after deleting your bogus enums and see where you
> get to.
>
> -Chris
>
> On Wed, 2009-08-05 at 16:06 +0200, Luca Lianas wrote:
> > Sorry, i forgot the attachment...
> >
> >
> > 2009/8/5 Luca Lianas <luca.lianas at crs4.it>
> >         I belong to the biomedical reserch group at CRS4, a research
> >         centre in Italy; we are currently using omero in several
> >         projects and we are running some performance tests during
> >         these days.
> >         We noticed that the server has low performances when loading a
> >         large amount of data (I tried to load the meta-informations
> >         for 50.000 4-channel images).
> >         I did a smaller test loading 1000 images using a python script
> >         and it took 1 minute and 42 seconds to load the data (as said
> >         before, I only wrote the meta-data of the images into the
> >         database, the real pixels are stored into a HDFS file system).
> >         I used the compiled version of Omero downloaded from the
> >         website and with default configuration. Omero runs on a Linux
> >         server (Fedora core 11) with a dual opteron processor (248
> >         model) and 4GB of RAM.
> >         I'm wondering what is the problem and if there are some hints
> >         to improve the performances on the server. Any help is
> >         appreciated.
> >
> >         Please see the script I'm using, as per attachment (maybe is
> >         the script itself my problem).
> >
> >         Thanks for you attention
> >
> >         Luca
> >
> > _______________________________________________
> > ome-devel mailing list
> > ome-devel at lists.openmicroscopy.org.uk
> > http://lists.openmicroscopy.org.uk/mailman/listinfo/ome-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.openmicroscopy.org.uk/pipermail/ome-devel/attachments/20090806/fc78b8f5/attachment-0001.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: save_images.py
Type: text/x-python
Size: 3337 bytes
Desc: not available
Url : http://lists.openmicroscopy.org.uk/pipermail/ome-devel/attachments/20090806/fc78b8f5/attachment-0001.py 


More information about the ome-devel mailing list