I'm preparing a proposal for a client and he's looking for success stories specifically regarding scalability. I went through https://plone.com/success-stories and found the following facts useful for my current purpose:
- FBI contains 120k items and receives 16 million hit per day.
- ER handles 4500+ internet users daily
Does anyone else have impressive figures from other sites?
Mike, there are major newspapers in South America that get millions of hits on their Plone sites.
Are you looking for traffic or content item counts or numbers of users or...?
Vic SES was archtected to handle 800k new visitors within a 10min period in case of a suddent disaster. It was load tested to 130k requests per second. In fact it withstood the traffic generated by a major earthquake that made several other sites fall over.
It also contains an extranet for 8000 volunteers on the same infrastructure.
Thanks guys. @tkimnguyen I'm looking for size and/or traffic - anything to indicate the scalability. @djay that is very impressive!
Our Brazilian friends could maybe chime in... their government portal and 2016 Olympics site probably get pretty big numbers.
the busiest sites we host are not as impressive as the FBI site: one of them has around 4 million sessions a month and 10 million page views; the other is 3 million sessions a month and 5 million page views
the infrastructure is quite small: only 2 servers running nginx, Varnish, Plone and Zope (in a redundant ZRS master-slave configuration), all of this is behind CloudFlare.
on a curious note the busiest site runs on smaller hardware: 4 CPU cores and 8 GB of RAM (each server); while the other runs on 8 CPU cores and 16 GB of RAM.
why? there are 2 reasons, the busiest is a blog and it has only one or two authenticated users adding content; the other is a magazine and has a larger staff (I think it could probably run also on smaller hardware but currently there's an ugly bug on versioning that keeps flooding the disk with empty blob files and we can run out of inodes).
normally they have around 1000-2000 concurrent visitors, but we had spikes in past months of 10.000 concurrent visitors.
unfortunately I don't have access to the number of government portals but I'm pretty sure are quite smaller.
for variety: K.K. Danesh runs a pretty big intranet for Indian academic institute CDAC. https://midwest.plonesymp.org/2013/talks/slides/intranetportal-ldap-singlesignon-webservice-06-006-2013.pdf/view
but I think @jensens has one of the highest logged-in user counts
Many logged-in users are not the real problem, but write transactions are. I'am not sure if we had the most parallel loggend in users. I suppose there are universities and similar users out with more logged in users than we ever had.
In a Plone 2.5 we had a project were up to 5 school classes worked really heavy in parallel and killed the system until we tuned it a lot. Its not comparable with today’s Plone, which got meanwhile optimized a lot.
About 125 users is not much, but they worked all in the same folders. You can have several 1000 logged in users without a problem if they do not write in conflicting areas or are just reading content. Bottleneck on write is in most cases the catalog which leads to transaction conflicts.
At some point you want to replace the catalog indexes by Solr or Elasticsearch. After this many more users are possible. In a vanilla Plone this is not a bigger problem, but using addons and customizations resulting in code reviews and optimizations as pre-launch or day-to-day business.
Overall the maximum number of objects we had in a ZODB was about 42mio - a product catalog for 18000 items in 27 languages for Thorn Lighting. It was about 80GB not counting blobs. With ZEO this was not the best experience (but worked, just editing was slow). Switching to RelStorage backed by Postgresql worked fine and solved the problems. Meanwhile SOLR metadata is used to store a lot of this reversible information (kind of web copy of the product database), so the the database size is reduced now.
Anyway, this is not a real success story. HTH anyway.
Thanks Jens, sounds like a success story to me. I will definitely explore RelStorage and Elastic.
Mike, for high performance environments you should also look at ZRS (ZODB replication services). https://www.stevemcmahon.com/steves-blog/plone-adds-replication-in-micro-release
Thanks Kim, I'll include it in my proposal. I'm already using in another project.