Like this presentation? Why not share!

Plone scalability in portal implementations

on Oct 12, 2012

• 444 views

Views

Total Views
444
Views on SlideShare
444
Embed Views
0

Likes
2
3
0

No embeds

Report content

• Comment goes here.
Are you sure you want to

Plone scalability in portal implementationsPresentation Transcript

• Plone scalability in portal implementations Douwe van der Meij Goldmund, Wyldebeast & Wunderliebevandermeij@gw20e.com@douwevandermeij
• Outline● Introduction● Code suggestions● Beyond code● Cases● The next step
• Introduction● A lot of initiatives ○ scalingplone.pbworks.com (Elizabeth Leddy, Nate Aune) ○ tinyurl.com/rtd-plone-performance● Lets join forces● Call to action
• Code suggestions
• Performance● Healthy code ○ Unit tests ○ Documentation ○ No legacy code● Add-ons● Vanilla Plone
• Performance● Less code ○ KSS optional in Plone 4.3 tinyurl.com/plone-wo-kss● Lightweight Plone core
• Performance● Reduce complexity● But how and where?
• Performancedef fib(n): def fib(n): return ( if n == 0: (1 + 5**0.5)**n - return 0 (1 - 5**0.5)**n if n == 1: ) / return 1 (2**n * 5**0.5) return fib(n-1) + fib(n-2)
• Performancedef fib(n): def fib(n): return ( if n == 0: (1 + 5**0.5)**n - return 0 (1 - 5**0.5)**n if n == 1: ) / return 1 (2**n * 5**0.5) return fib(n-1) + fib(n-2)
• Performancedef fib(n): def fib(n): return ( if n == 0: (1 + 5**0.5)**n - return 0 (1 - 5**0.5)**n if n == 1: ) / return 1 (2**n * 5**0.5) return fib(n-1) + fib(n-2) O(1) O(2n)
• Performance
• Performance● O(2n) → O(1) ○ Almost impossible to find● O(2n) → O(n2) ○ Challenging to find● O(nconstant) is always faster than O(2n)
• Beyond code
• Databases● Database engine ○ ZODB ○ PostgreSQL, MySQL ○ Redis, Cassandra, Hadoop 29,654,573,309,198 bytes in 1,5 hour ≈ 50Gb/sec
• Tools● HAProxy● Varnish● Etc.
• Tools● New Relic ○ In production ○ http://tinyurl.com/gw20e-newrelic● YSlow● PyCounters● Google Page Speed● JMeter
• Cases
• Case● Municipality of Groningen ○ Few dozen of concurrent users ○ 35.000 pages ○ Editing a page takes seconds● Add-on problems● Review list
• Case● 1000+ concurrent users, use Plone?● Tweak settings! ○ Use AJAX ○ Use Varnish
• The next step
• Wrap up● Reduce complexity ○ Vanilla Plone ○ Add-ons● Documentation
• WBSO● Dutch law to support R&D work by cutting taxes● We have time to do this!
• Sprint● We want to sprint● User stories needed● Open space?
• Sprint 1 Call to● ... action!
• Thank you!vandermeij@gw20e.com@douwevandermeij