Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

General Questions /

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

Performance for Large Sites (My Little Performance Test)


Go to End


8 Posts   1679 Views

Avatar
suntrop

Community Member, 141 Posts

24 May 2012 at 9:25am

Edited: 24/05/2012 9:26am

Hi there. I am using SS since two years and most of the sites I made with it are less than 100 pages per site.

Currently I am facing a larger site starting with ~1,000 pages and perhaps growing up to 3K or more. I read a lot of the other postings about large sites here. Many are helpful but the majority is for old versions of SS.

Thus I tested SS on my local machine with 3,000 pages each filled with 500 characters for the content (that's roughly what the text content will be). SiteTree looks like this:
Home
About
Sub1
-Sub1.1 (holds 100 pages)
-Sub1.2 (holds 100 pages)
-Sub1.3 (holds 150 pages)
-Sub1.4 (holds 150 pages)
-Sub1.5 (holds 150 pages)
-Sub1.6 (holds 150 pages)
-Sub1.7 (holds 150 pages)
-Sub1.8 (holds 150 pages)
-Sub1.9 (holds 150 pages)
-Sub1.10 (holds 200 pages)
-Sub1.11 (holds 200 pages)
-Sub1.12 (holds 200 pages)
-Sub1.13 (holds 200 pages)
-Sub1.14 (holds 200 pages)
-Sub1.15 (holds 200 pages)
-Sub1.16 (holds 200 pages)
-Sub1.17 (holds 200 pages)
Top2
Top3
(…)
Top99
Top100
Contact

Loading the back-end (Pages) will take about 9 seconds. Opening subfolders takes about 6 seconds. Pretty fast, in my opinion. :-)

My question now …
1. What about if there are more fields for the pages (about 15 fields for images, simple checkboxes and other HTML text)? Does it make loading back-end slower, or will SS load the content not until I click on a specific page?
2. What do I need to consider as well? I am fairly new to sites in this scale.
3. Should I think of building a module instead of pages (the site is more like a catalogue)?
4. Is there anything I can push the performance to be better?

Hope some of you can help and give me some answers or hints.
Thanks!
- suntrop -

Avatar
swaiba

Forum Moderator, 1899 Posts

24 May 2012 at 11:00am

Hi suntrop,

nice work!

1. What about if there are more fields for the pages (about 15 fields for images, simple checkboxes and other
HTML text)? Does it make loading back-end slower, or will SS load the content not until I click on a specific page?

give it a go, I'd love to see more performance stats!

2. What do I need to consider as well? I am fairly new to sites in this scale.

I'd look into http://www.ssbits.com/tutorials/2010/dataobjects-as-pages-part-1-keeping-it-simple/

3. Should I think of building a module instead of pages (the site is more like a catalogue)?

Could look into using something like silvercart and then removing the ecommerce part (e.g. buy now button)

4. Is there anything I can push the performance to be better?

better server?

Avatar
Silverfish

Community Member, 59 Posts

24 May 2012 at 9:03pm

Edited: 24/05/2012 9:05pm

Hi,

interesting topic! :)

4. Is there anything I can push the performance to be better?

Did you install X-Cache like recommended on http://doc.silverstripe.org/sapphire/en/installation/server-requirements?
If not yet it would be great t know in the difference for your test before and after.
Same question for Mysql Cache http://dev.mysql.com/doc/refman/5.1/en/query-cache.html? Is this one recmommended by SilverStripe, btw.?

Regards
SF

Avatar
suntrop

Community Member, 141 Posts

25 May 2012 at 8:44am

Thanks for your comments and links. I'll try to expand the pagetype to more fields this weekend and see what happens.
Since I am using a managed server with PHP as CGI, x-cache isn't making it faster. But I noticed there is FastCGI as an option. Again I'll try that this weekend.
Some weeks ago we launched a website for stock ratings. We are managing the stocks (45 DB fields) within a module and tested it with over 50,000 stocks. No performance issues at all – neither in front-end nor in the back-end :-)

Avatar
suntrop

Community Member, 141 Posts

28 May 2012 at 9:09pm

Hope anybody is interested :)
- Added 18 text fields
- Added 15 checkboxes
- Added 1 HTMLText field
- Added 6,000 versions (SiteTree_Versions)
- Added 1,100 links (dependent pages) from subpages to the homepage
- Added another 1,000 pages

Without any caching it loads quite fast.
"Pages" section: ~ 6-8 seconds
Search for files (5 results): < 5 seconds
Search for files (100 results): < 7 seconds
Opening nested files: < 5 seconds

On my local machine PHP doesn't run in CGI mode. I hope I can try this the next days on my webserver. And I'll try to cache pages as well.

Avatar
swaiba

Forum Moderator, 1899 Posts

28 May 2012 at 9:17pm

Awesome information... it seems a little slow for today market... if you have 3 levels of pages and you needs to get to a specfic page and then save & publish. Have you tried http://www.ssbits.com/tutorials/2012/dataobject-as-pages-the-module/ ?

I suspect that this will allow much better management of pages via searching and quicker to save & publish.

Avatar
suntrop

Community Member, 141 Posts

29 May 2012 at 7:41am

Save and Save & Publish is as fast as I know within sites up to 50 pages.
swaiba, your link is on my "read later" panel :-)

Avatar
martimiz

Forum Moderator, 1391 Posts

7 June 2014 at 10:00pm

Edited: 07/06/2014 10:12pm

Oops, sory, this was meant for another thread -> http://www.silverstripe.org/installing-silverstripe/show/61005