In DSpace 6x, it takes an intolerable 10 minutes (!!!) to populate the
Select Collection drop-down in my instance when logging in as a regular
user as opposed to an administrator.
I can add hardware details if anybody is interested, but I'm pretty sure
it's not the problem -- this is a beefy machine that hummed along nicely
with version 5.x...
We have a little over 1000 collections in our repository, and we use
shibboleth for authentication so findAuthorizedPerformanceOptimize is set
to it's default of false.
Some rudimentary profiling suggests that the isAdmin() call in authorize()
is the bottleneck. In a recent test (pretty typical), the findAuthorized()
function takes 704,040 ms to return. The time spent in the isAdmin() call
amounts to 590,691 ms, or about 83% of the time. Another bottleneck within
this bottleneck is the recursive call to isAdmin(parent collection) --
about 400,000 ms. Clearly there is a lot of waste in this call because
many many collections will be tested over and over. In our case, we have a
single community that is the ancestor of every community/collection, and
isAdmin() winds up being called against it 1012 times -- same as the number
of collections in the repository -- and 1011 of them are redundant.
As a further test, I have short-circuited isAdmin() to return false
immediately. The results in the rendering of the drop-down in about 94,000
msec. Still way too long, but a drastic improvement.
When logging in as an administrator, isAdmin() returns rather quickly and
the list is populated much quicker as well. But for the everyday user, the
performance is a big red light preventing us from upgrading.
Sorry, this is simply stating the problem with no solution. But has
anybody else with a similarly sized repository experienced this slow down?
You received this message because you are subscribed to the Google Groups
"DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email
To post to this group, send email to firstname.lastname@example.org.
Visit this group at https://groups.google.com/group/dspace-tech.
For more options, visit https://groups.google.com/d/optout.