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

Ludicrous speed

Ludicrous speed

Fantastic stories about performance requirements

Sergey Vysotskiy

December 09, 2014
Tweet

More Decks by Sergey Vysotskiy

Other Decks in Technology

Transcript

  1. Perception of time What happens on internets? What is “OK”

    response time? What is “OK” load? Summary PLAN
  2. Perception of time What happens on internets? What is “OK”

    response time? What is “OK” load? Summary PLAN
  3. Perception of time What happens on internets? What is “OK”

    response time? What is “OK” load? Summary PLAN
  4. Perception of time What happens on internets? What is “OK”

    response time? What is “OK” load? Summary PLAN
  5. Perception of time What happens on internets? What is “OK”

    response time? What is “OK” load? Summary PLAN
  6. 100-200 ms 500-1000 ms 2-5 seconds 7-10 seconds instantaneous reaction

    uninterrupted reaction some reaction oof… *20 years old data
  7. Weber–Fechner law just noticeable difference (jnd) For time lengths of

    up to 30s - jnd is somewhere between 7% and 18%
  8. Benchmark against 30s 60s less than 36s less than 42s

    less than 24s slow same slightly slower faster
  9. Benchmark against 30s 60s less than 36s less than 42s

    less than 24s slow same slightly slower faster
  10. Benchmark against 30s 60s less than 36s less than 42s

    less than 24s slow same slightly slower faster
  11. Benchmark against 30s 60s less than 36s less than 42s

    less than 24s slow same slightly slower definitely faster
  12. Response time: DNS request Establish TCP connection Generate request to

    server Send request to server Server generates response Server sends response Page rendering on browser
  13. Response time: DNS request Establish TCP connection Generate request to

    server Send request to server Server generates response Server sends response Page rendering on browser
  14. Response time: DNS request Establish TCP connection Generate request to

    server Send request to server Server generates response Server sends response Page rendering on browser
  15. Response time: DNS request Establish TCP connection Generate request to

    server Send request to server Server generates response Server sends response Page rendering on browser
  16. Response time: DNS request Establish TCP connection Generate request to

    server Send request to server Server generates response Server sends response Page rendering on browser
  17. Response time: DNS request Establish TCP connection Generate request to

    server Send request to server Server generates response Server sends response Page rendering on browser
  18. Response time: DNS request Establish TCP connection Generate request to

    server Send request to server Server generates response Server sends response Page rendering in a browser
  19. Response time: DNS request Establish TCP connection Generate request to

    server Send request to server Server generates response Server sends response Page rendering in a browser
  20. In general case response longer than 300ms means nobody cares

    Usually it’s more than 1 second on a client
  21. Find out what is OK response time for you Remember

    about long tail Find out possible max load Test your assumptions
  22. Find out what is OK response time for you Remember

    about long tail Find out possible max load Test your assumptions
  23. Find out what is OK response time for you Remember

    about long tail Find out possible max load Test your assumptions
  24. Find out what is OK response time for you Remember

    about long tail Find out possible max load Test your assumptions
  25. 4 datacenters More than 5K servers ~50 millions of unique

    users More than 100 people working on backend infrastructure and operations