Modern Web (Umbraco) Performance Testing

by @zajkowskimarcin

zajkowskimarcin

mzajkowski

zajkowskimarcin

Marcin Zajkowski

zajkowskimarcin

mzajkowski

zajkowskimarcin

tbpgtsm.com

CTO @ Cogworks

CTO / CKO @ WOW School

Marcin @ umbraCoffee (Friday's 11:30 on YT)

Blogger @ udfnd.pl

You're 296th in the line to watch the talk.


We're sorry for any inconvenience, but
the line is paused as the other 300 people are enjoying the current presentation.

Wait or come back later.

"Downtime is better for a B2C web service than slowness. Slowness makes you hate the service. Downtime you just try again later."

 

- Lenny Rachitsky, Product Manager, Airbnb

#perfmatters

Retaining users

The BBC found they lost an additional 10% of users for every additional second their site took to load.

Conversion

E-commerce studies: 2 seconds delay during checkout increases the abandonment rate by up to 30% and 100ms of Latency cost Amazon and Wallmart 1% in Sales.

"If you can't measure it,

you can't improve it."

 

- Peter Drucker, American Businessmen (1909-2005)

Stop guessing.

Treat performance

as feature.

Performance is a feature, not a luxury.

Build.
Measure.
Optimise.
Monitor.

Start simple.

Improve your code.

Good performance starts with good code.

Our solution

  • Ryslyn Analyser (FxCopAnalyzers)
  • StyleCopAnalyzers
  • EditorConfig

struct, in, ref, Span<T>...

0
 Advanced issue found
 

Measure.

Go deeper.

APM

Microbenchmarking / Benchmark.Net, NBench

Get low / PerfView, ANTS, windbg etc.

Automate.

Observe.

Have fun.

Summary

1. Stop guessing.

2. Treat performance as a feature.
3. Start simple.
4. Always measure.
5. Automate, observe, have fun.
6. Learn. (not only from mistakes)

Thank you!

@zajkowskimarcin  /  marcin.zajkowski@wearecogworks.com

Questions?

Modern Web Performance Testing - DF20

By Marcin Zajkowski

Modern Web Performance Testing - DF20

Most of us developers think about performance when it's already 'a little bit too late'. When the client or user reports that our solution is 'slow' or fails every time on Friday at 5 pm when more than 'X' users opens the app... Why???!!! Would we care more if it was easy and simple? What if I tell you that it is? Let's talk about the Umbraco implementations in which each millisecond and TTFB matters. We'll talk about low-level code optimisations, but also the whole setup to let us convert our benchmarks and data into fully automated performance testing setup to deliver high quality and high-performance web applications.

  • 2,233