O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Plone Performance, Profiling, Power-Consumption

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 16 Anúncio

Plone Performance, Profiling, Power-Consumption

Baixar para ler offline

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?

Anúncio
Anúncio

Mais Conteúdo rRelacionado

Semelhante a Plone Performance, Profiling, Power-Consumption (20)

Mais de Jens Klein (14)

Anúncio

Mais recentes (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)

×