Hi Tom,

First off, thanks for sharing your details, and some more specifics 
about the memory issues you are seeing.  Much appreciated.

I've got a few followup questions, if you or Simon don't mind answering 
them.  Just trying to get a better understanding of where the core 
problem(s) reside, so that we can make useful suggestions to you (and 
find ways to resolve issues in DSpace itself).  I've also noted a few 
areas where you might be able to achieve some temporary benefits (if you 
need something temporarily, at least until we can fix any issues in DSpace).

On 10/7/2010 5:32 AM, Tom De Mulder wrote:
> DSpace scalability issues report, per wiki template:
>
> 1. dsp...@cambridge, The University of Cambridge, UK.
>     Technical contacts: Tom De Mulder, [email protected] (systems manager)
>       Simon Brown [email protected] (DSpace developer)
>
> 2. a. DSpace version 1.6.2 with extensive local patches, using JSPUI
>        Size: 137 communities, 258 collections,>200k items, 12TB, 436k 
> bitstreams (excluding licenses)
>
>     b. PostgreSQL 8.4.4

In order to better understand your PostgreSQL configs, would you be 
willing to share how your "work_mem" and "shared_buffers" are 
configured?  Or, if you could share the whole Postgres config, that 
could also help.

I just know there are sometimes ways to performance tune PostgreSQL for 
larger sized databases (which yours surely is, based on the amount of 
content).  If you've already investigated PostgreSQL performance tuning, 
it'd be good to know as well.  Here's some very basic info from our wiki 
(and much more off the PostgreSQL site as well), which shows settings 
we'd be looking to tune for potentially better DB performance:

https://wiki.duraspace.org/display/DSPACE/PostgresPerformanceTuning
http://wiki.postgresql.org/wiki/Performance_Optimization

>
>     c. Tomcat 6.0.24 standalone
>
>     d. Separate servers for webapp, DB, storage and ancillary functions
>        Webapp/DB servers are HT 8-core Intel servers running Ubuntu Linux
>        with 16GB of memory and fast local storage
>        Java memory: -Xmx2048M -Xms2048M

Obviously, throwing more memory at this issue may not be a long term 
solution.  But, you could think about (even temporarily) providing more 
memory to Java (beyond the 2GB) to see if that can temporarily lessen 
the frequency of these memory errors (likely, they may still occur at 
some point though).  I'm not sure if this is possible temporary fix or 
not (depends on whether the rest of that 16GB of memory is already 
allocated to other applications)

> 3. a. - Unless Tomcat is restarted, it will consistently fail due to lack of 
> memory in less than 48 hours.
>        - Batch importer: will fail on large batch imports (order of thousands 
> of items), performance degrades with size of repository and of batch.
>        - Search indexer: fails on large repositories, slowing down and 
> eventually running out of memory.
>        - Assetstore: random structure causes large overhead on filesystem for 
> no real gain
>
>        See also our poster, presented in Gothenburg: 
> http://tools.dspace.cam.ac.uk/DSUG09%20A2%20poster.pdf

Could you actually send us a few of the out of memory error messages you 
are seeing?

You may be seeing out of memory errors either from PermGen 
("OutOfMemoryError: PermGen space") or from Heap ("OutOfMemoryError: 
Java heap space"). So, it'd be good to determine which type(s) of memory 
error it is.  We might be able to help you tweak your Java settings to 
at least temporarily avoid these errors being thrown. (Again, likely not 
a permanent fix, but may help temporarily until we can fix any memory 
usage issues in DSpace.)

Also, knowing the type(s) of memory error may be able to help us 
determine what the cause in DSpace may be.

>
>     b. Installed vanilla DSpace 1.6.2, imported 200k randomly generated 
> items, ran siege against it, watched it not cope.
>        We've done profiling in the past, but not for 1.6. However, we've not 
> noticed significant changes in the code that has issues.

It'd be good to get an idea of what wasn't coping well in the vanilla 
DSpace 1.6.2 tests you ran.

For instance, did accessing DSpace suddenly become extremely slow (e.g. 
browsing/searching), or was it the import script that slowed down (or 
maybe it was both)?  I guess the question is what did you have the SIEGE 
program (http://www.joedog.org/index/siege-home) testing? Was it just 
doing random accesses of the website and noting very poor performance or 
receiving more out-of-memory errors?

If you could, it would also would be wonderful if you would share your 
scripts for randomly generating 200K DSpace items. This would allow us 
to do the same testing locally to replicate exactly what you have seen. 
  Plus, this seems like it could be a great testing tool for the whole 
community (we are always looking for a decent set of test data). Sure, 
we could probably rewrite the code from scratch, but it's always better 
to just grab a copy of code if you can :)

>     c. We have patches for the indexer; batch importer; thumbnail and PDF 
> text extraction; assetstore structure; dark item masking in OAI and browse 
> code

I'd already mentioned this before, and there's not a huge rush. But, 
when you find some time, it'd be good to add some/all of these patches 
to JIRA (especially those you feel are applicable to 1.6.x).  That way 
we can get more eyes on them, and do a full review and (hopefully, if 
all works out in our 1.7 timeline) maybe even get some/many into 1.7.0.

For more on the DSpace 1.7 timeline, see this wiki page
https://wiki.duraspace.org/display/DSPACE/DSpace+Release+1.7.0+Notes

> 4. We can't commit to volunteering unless this can be incorporated into the 
> work we need to undertake in our primary capacity of running the University's 
> Institutional Repository. However, we would be willing to try and make this 
> happen.

No problem & definitely understood.

Providing this sort of performance feedback is already much appreciated. 
If you are able to share your patches, a little more specifics on the 
OutOfMemoryErrors, and potentially share your 'randomly generated items' 
script, that'd be a huge boost for us.   It'd definitely help us to be 
able to get a better sense of exactly what is happening (and where) in 
DSpace, so that we can hopefully get some immediate fixes ready in time 
for the 1.7.0 release.

Thanks!

- Tim

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to