Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Plone Performance, Profiling, Power-Consumption

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 16 Anzeige

Plone Performance, Profiling, Power-Consumption

Herunterladen, um offline zu lesen

Plone 5.2.2 performance is way better than before. It has less power consumption and is greener now. But how did we found the bottlenecks? What were the action needed to got it faster? Where are our pain points? Can we improve more?

Plone 5.2.2 performance is way better than before. It has less power consumption and is greener now. But how did we found the bottlenecks? What were the action needed to got it faster? Where are our pain points? Can we improve more?

Anzeige
Anzeige

Weitere Verwandte Inhalte

Ähnlich wie Plone Performance, Profiling, Power-Consumption (20)

Weitere von Jens Klein (14)

Anzeige

Aktuellste (20)

Plone Performance, Profiling, Power-Consumption

  1. 1. Performance https://www.deviantart.com/cannikin1701/art/Discovery-sSpore-Jump-719880707
  2. 2. How to find the performance problem? Tools
  3. 3. Tools mainly used ● py-spy runtime profiler for Python programs ● repoze.profile Python profiler integration with WSGI ● dis Disassembler for Python bytecode
  4. 4. py-spy ● Overall mix of the whole application performance ● Unix „top“ like output of running python program ● recording mode: for later analyzing ● Able to attach to live process w/o slowing down Plone
  5. 5. repoze.profile ● Python profiler integration as WSGI middleware ● Slows down the application ● Ability to profile a single request and analyse its call stack by count/ single call time, accumulated time/ callee/ caller
  6. 6. Plone 5.2.0 to 5.2.3 plone.dexterity ● avoid early providedBy calls ● __getattr__ early exit on common attrs ● caches optimized: assignable, schema cache ● removal of superfluos threadlocal sync
  7. 7. Plone 5.2.1 to 5.2.2 zope.interface ● ~1.25x -1.5x __hash__ override removals on Implementer leftover ● ~1.25x __hash__ improvement InterfaceClass ● ~5x lookup/lookupAll/subscriptions ● memory consumption reduced (jmadden)
  8. 8. DEMO TIME
  9. 9. Future Todo‘s ● plone.restapi has optimization potential → all navigation related ● plone.registry is called too often ● Use „python:“ expressions in all page templates ● More introspection
  10. 10. Advice: Start introspecting your performance! Virtual hugs and stay healthy! (Q&A at Jitsi face2face as announced)

×