Forum OpenACS Development: Re: Scalability in site node initialization routine

Collapse
Posted by Ola Hansson on
Caroline, Andrew,

The "set curriculum_bar_p" statement in site-master.tcl has been cached on openacs-5-1-0-final, openacs-5-1-compat and HEAD.

Jeff wrote me (in private) and pointed out that I shouldn't use util_memoize in the page. I agree with that. He suggested a proc like so:

site_nodes::package_mounted_p package_name site_node

...which would return the memoized result for the curriculum package and other packages as well.

He said he would also add a flush in the mount to flush the memoized ones for a given package_name.

I haven't gotten around to do this yet, but it is my intention to follow his advice sooner or later.

I had the same problem, basically it finally call site_node::get_children, which when you have lot of nodes can be very slow (since it scan all the nodes when filters are defined: package_key curriculum), for +30K nodes takes about 5sec to serve any page....  has this fix done for oacs-5-1?