Upgrade to Pro — share decks privately, control downloads, hide ads and more …

DevOps Deep Dive - Alla fiera dell'ovvio

DevOps Deep Dive - Alla fiera dell'ovvio

DevOps Deep Dive Roma 2017
Alla fiera dell'ovvio - Aggiungiamo i test di performance e scalabilità nella nostra pipeline

Giulio Vian

July 21, 2017
Tweet

More Decks by Giulio Vian

Other Decks in Programming

Transcript

  1. Alla fiera dell’ovvio Aggiungiamo i test di performance e scalabilità

    nella nostra pipeline Giulio Vian http://blog.casavian.eu/ [email protected] @giulio_vian http://www.nolbej.com/
  2. Di che si chiacchiera? Perché ovvio? Fondamenta de Perf /

    load/ stress testing Integrare nella CI Chiusura 3
  3. Il test di performance di quest’anno… 2M users 40,000 RPS

    2Gbps 7 © 2016 IMG Universe, LLC. All Rights Reserved
  4. Performance is a Feature «there are two kinds of websites:

    the quick and the dead» https://blog.codinghorror.com/performance-is-a-feature/
  5. Response time 0.1 second is about the limit for having

    the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result. 1.0 second is about the limit for the user's flow of thought to stay uninterrupted, even though the user will notice the delay. Normally, no special feedback is necessary during delays of more than 0.1 but less than 1.0 second, but the user does lose the feeling of operating directly on the data. 10 seconds is about the limit for keeping the user's attention focused on the dialogue. For longer delays, users will want to perform other tasks while waiting for the computer to finish, so they should be given feedback indicating when the computer expects to be done. Feedback during the delay is especially important if the response time is likely to be highly variable, since users will then not know what to expect. Miller, R. B. (1968). Response time in man- computer conversational transactions. Proc. AFIPS Fall Joint Computer Conference Vol. 33, 267- 277.
  6. Hard facts Google Half a second delay caused a 20%

    drop in traffic. Amazon.com Even very small delays (100 ms) would result in substantial and costly drops in revenue.
  7. Problemi emergenti Esaurimento delle connessioni File locks Database locks (Thread)

    deadlocks Memoria esaurita Effetto domino Mancanza di scalabilità
  8. Esaurimento pool connessioni Connessioni verso database Connessioni verso servizi esterni

    Librerie che gestiscono la connessione Di norma un problema nel codice
  9. Risultante +Tassi di errore +Errori sul tool Carico relativo Latenza

    Required threshold Max N seconds 100% 60% Throughput Utilizzo
  10. Scenari tipici Desktop / mobile / libreria Server / web

    Database server Web server Client N1 N4 A1 A3 A2 N3 N2
  11. Fattore tempo Test di breve durata Test di lunga durata

    Copertura dei test Frequenza di esecuzione Valore dei test
  12. Bibliografia & Riferimenti http://www.slideshare.net/giuliov/presentations AWS Well-Architected Framework - Performance Efficiency

    Pillar https://www.amazon.com/dp/B01MSSLHBX Performance Testing Guidance for Web Applications https://msdn.microsoft.com/en- us/library/bb924375.aspx http://www.brendangregg.com/linuxperf.html 39
  13. Bibliografia (2) Writing High-Performance .NET Code — Ben Watson (Ben

    Watson) https://www.amazon.it/Writing-High- Performance-NET-Code- Watson/dp/0990583430/ Time Is Money: The Business Value of Web Performance — Tammy Everts (O'Reilly Media) https://www.amazon.com/Time-Money- Business-Value-Performance/dp/1491928743 40
  14. Bibliografia (3) Software Performance and Scalability: A Quantitative Approach —

    Henry H. Liu (Wiley) https://www.amazon.com/Software- Performance-Scalability-Quantitative- Approach/dp/0470462531 Continuous Delivery with Windows and .NET — Matthew Skelton and Chris O'Dell (O'Reilly) http://www.oreilly.com/webops- perf/free/continuous-delivery-with-windows-and- net.csp 41
  15. Bibliografia (4) Continuous Delivery: Reliable Software Releases through Build, Test,

    and Deployment Automation — J.Humble, D.Farley (Addison-Wesley) https://www.amazon.com/Continuous- Delivery/dp/0321601912/ The Phoenix Project — G.Kim, K.Behr, G.Spafford (IT Revolution Press) https://www.amazon.com/Phoenix-Project- DevOps-Helping-Business/dp/0988262509/ 42
  16. Bibliografia (5) The DevOps Handbook — G.Kim, P.Debois, J.Willis, J.Humble

    (IT Revolution Press) https://www.amazon.com/DevOps- Handbook-World-Class-Reliability- Organizations/dp/1942788002/ Continuous Delivery with Visual Studio ALM 2015 — M.Olausson, J.Ehn (Apress) http://www.amazon.it/Continuous-Delivery- Visual-Studio-2015/dp/1484212738/ 43