Hi guys I have recently been working on building a new intranet for my old employers using SilverStripe. It's a large site, currently with upwards of 1500 pages. The site is running on a dual quad-core box with 8GB of ram and served over a 100mb newtwork. However navigating the tree with an admin login is quite slow, say 5 seconds to expand a node with 20 sub-nodes and pages are certainly not snappy to load. But the real problems comes when I start to implement groups and permissions. With a non admin login expanding the same node will take upwards of 30 seconds! Another major speed problem is the Files and Images section. This is literally unusable whether with an admin login or not. Granted it has hundreds of files stored in it (accross 10's of folders), but it will take upwards of 30seconds to a minute just to load the section then another 20 seconds to open the Uploads folder. I have tried getting the systems department to install X-cache on the server but it seemed to make little difference. Has anyone got any experience with this size of site or tips on how to improve performance? Thanks Aram |
Has this ticket been implemented yet? If not it may give some help here?
http://open.silverstripe.com/ticket/826
Pete
Checked by
AVG - www.avg.com
Version: 8.5.375 / Virus Database: 270.13.5/2220 - Release Date: 07/08/09
21:51:00
Thanks Morven, Ill give the YSLOW plugin a go.. Unfortunately because it's an internal intranet which runs a load of other web apps written for firefox thats all we use and the main install for all the linux boxes is still on V2, I would imaging V3.5 would be as quick as chrome, so perhaps I will try to convince the systems guys to get that installed. I will let you know what happens. Thanks for your help Aram --- On Thu, 9/7/09, Morven Lewis-Everley <m.lewis...@googlemail.com> wrote: |
|
|
|
It would be interesting to see a profile, Aram, from the page that takes 30 secs to load up when not an administrator.
I haven’t checked this but I guess that one reason this using non-admin users is even more slow is that canView is being called on every page in the hierarchy. I noticed that the SiteTree:canView is rather complex and also calls up to the parent page’s canView object. This means that a parent page’s canView is being called at least as many times as it has children. It would seem that some kind of caching might be helpful here.
For instance in SiteTree you could have an instance variable $canViewCache which would be an array that uses member id for its keys and the member’s canView status for this page for its values. Then the start of the SiteTree::canView function would look like:
public function canView($member = null) {
if(!$member || !(is_a($member, 'Member')) || is_numeric($member)) $member = Member::currentUser();
if ( isset($this->canViewCache[$member->id]) {
return $this->canViewCache[$member->id];
}
... the rest of the function.
}
Any thoughts?
Pete
From: silverst...@googlegroups.com [mailto:silverst...@googlegroups.com] On Behalf Of aram balakjian
Sent: 09 July 2009 11:39
To: silverst...@googlegroups.com
Also the Permission system in general could be given a workout to make it a bit leaner and meaner! There are potentially a lot of small DB calls going on.
Pete
From: silverst...@googlegroups.com
[mailto:silverst...@googlegroups.com] On Behalf Of aram balakjian
Sent: 09 July 2009 11:39
To: silverst...@googlegroups.com
Subject: [silverstripe-dev] Large Intranet - Slow editing
Hi guys |
On 10/07/2009, at 2:22 AM, aram balakjian wrote:
> I would imaging V3.5 would be as quick
Sig
+1
Joe
--
Joe Crawford
http://joecrawford.com/
805-857-3951
Wow, it seems I'm really not the only one having this problem :) Great to hear that update will make it into 2.3.3, for now I have got around it by removing the SilverStripe TinyMCE manager and installing the ImageManager plugin which provides a pretty good and most importanty very snappy file manager from within the Editor. I have then hidden the Files & images tab from the menu. I got firefox 3.5 installed and indeed from the javascript side of things it did speed things up noticably, but I think this is kind of beyond the point, there are clearly some fundemental issues particularly with the way permissions are checked when expanding the tree. Anyway it's great to see that this is an issue that everyone is aware of. I will give the menu caching a go, thanks for that Nicolaas. Aram --- On Fri, 10/7/09, Sigurd Magnusson <sig...@silverstripe.com> wrote: |
Just removing the "unused images" code would be a huge improvement -
I've had to comment it out in at least three sites to avoid script timeouts.
Jamie