SlideShare a Scribd company logo
Insert company logo
UX/Frontend
Web Performance
Die effektivsten Techniken aus der Praxis
Erik Witt
Erik Witt 30.09.2016
Presentation
is loading
Average: 9,3s
Loading…
Why performance matters
Average: 9,3s
Loading…
-1% Revenue
100 ms
Why performance matters
Average: 9,3s
Loading…
-1% Revenue
-9% Visitors
400 ms
Why performance matters
Average: 9,3s
Loading…
-1% Revenue
-9% Visitors
500 ms
-20% Traffic
Why performance matters
Average: 9,3s
Loading…
-1% Revenue
-9% Visitors
-20% Traffic
1s
-7% Conversions
Why performance matters
What should be the goal?
Delay User Perception
0 – 100 ms Instant
100 – 300 ms Small perceptible delay
300 – 1000 ms Machine is working
1+ s Mental context switch
10+ s Taks is abandoned
Stay under 1000 ms to
keep users attention
I. Grigorik, High performance browser networking.
O’Reilly Media, 2013.
Concrete Example
A scalable webshop
at
Expectations:
• 2.7 Million Viewers
• 300.000 Visitors in
30 minutes
• 20.000 Requests
per second
If performance is so important for
Business Success
...what causes slow page load times?
State of the Art
The tree bottlenecks
Network
Backend
Frontend
CSS
Render Tree
Layout
Frontend Performance
The critical rendering path
Paint
Network
JavaScript
CSSOM
DOM
<!doctype html>
<title>Code Talks</title>
<link href=all.css rel=stylesheet />
<script src=app.css ></script>
<div>
<h1>Web Performance</h1>
</div>
div { color: green; }
h1 { padding: 10px; }
<script>
elem.style.width = "50px";
document.write("JS is awesome!");
</script>
HTML DOM
Execution
Frontend Performance
Render and parser blocking
Google Developers, Web Fundamentals
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/analyzing-crp
What to do:
• Inline critical CSS and JS above the fold
• CSS at the top, JS at the bottom
• Load non-critical CSS and JS
asynchronously
• Rendering the page progressively
• Minify, concatenate, compress and
cache CSS, JS and images
Frontend Performance
Tools to improve your page load
PageSpeed Insights
Profiling Minification & Compression
Inlining & Optimization
Google Closure
UglifyJs & cssmin
processhtml
Frontend Performance
Applied in the example
processhtml
Caching
565,9 KB
Size:
767 ms
Load time:
24
Requests:
Network Performance
Break down of a single resource load
DNS Lookup
• Every domain has its own DNS lookup
Initial connection
• TCP makes a three way handshake  2
roundtrips (1 with the new TCP Fast
Open)
• SSL connections have a more complex
handshake  +2 roundtrips (only 1 with
TLS False Start or Session Resumption)
Time to First Byte
• Depends heavily on the distance between client and
the backend
• Includes the time the backend needs to render the
page
 Session lookups, Database Queries, Template
rendering …
Content Download
• Files have a high transfer time on new connections,
since the initial congestion window is small  many
roundtrips
Maximum 6 parallel connections
DNS Lookup Initial Connection
SSL Handshake
Time to First Byte Content Download
https://www.thinks.com/
20 ms0 53 ms 70 ms 90 ms36 ms
Network Performance
The average website
http://httparchive.org/
Transfer Size: 2480 KB
Total Requests: 104
I. Grigorik, High performance browser networking.
O’Reilly Media, 2013.
Network Performance
Network latency impact
Network Performance
Network latency impact
I. Grigorik, High performance browser networking.
O’Reilly Media, 2013.
2× Bandwidth = Same Load Time
½ Latency ≈ ½ Load Time
Network Performance
Common Tuning Knobs
• Persistent connections, if possible HTTP/2
• Avoid redirects
• Explicit caching headers (no heuristic caching)
• Content Delivery Networks
• To reduce the distance between client and server
• To cache images, CSS, JS
• To terminate SSL early and optimized
• Single Page Apps:
• Small initial page that loads additional parts asynchronously
• Cacheable HTML templates + load dynamic data
• Only update sections of the page during navigation
HTTP/2 Performance
Advantages:
• Server Push
• Header Compression
• Request Pipelining
• Multiplexing over 1 TCP
connection (no head-of-line
blocking)
Network Performance
Applied in the example
What we do:
• Heavy browser and CDN Caching
• Avoid Redirects (+ serve from CDN)
• Single Page App functionality
• Persistent Backend Connections
• Gzip Compression
• IP Anycasting to nearest POP
Backend Performance
Overview
• Horizontally scalable
databases (e.g. “NoSQL”)
• Replication
• Sharding
• Failover
Load Balancer Application Server Database
• Load Balancing
• Auto-scaling
• Failover
• Stateless session handling
• Minimize shared state
• Efficient Code & IO
Load Balancer Application Server Database
Content-Delivery-
Network
Polyglot Storage
Backend Performance
Applied in the example
Content-Delivery-
Network
Backend-as-a-Service Middleware:
Caching, Transactions, Schemas,
Invalidation Detection, …
Backend Performance
Applied in the example
Content-Delivery-
Network
Standard HTTP Caching
Backend Performance
Applied in the example
Content-Delivery-
Network
Unified REST API
Backend Performance
Applied in the example
Baqend Architecture
Infrastructure
Content-Delivery-
Network
IaaS-Cloud
on
CDN
on
Performance: State of the Art
Summarized
Frontend Latency Backend
• Doable with the right
set of best practices
• Good support
through build tools
• Caching and CDNs
help, but a
considerable effort
and only for static
content
• Many frameworks
and platforms
• Horizontal scalability
is very difficult
Performance: State of the Art
Summarized
Frontend Latency
Backend
• Easy with the right
set of best practices
• Good support
through build tools
• Caching and CDNs
help, but large effort
and only for static
content
• Many frameworks
and platforms
• Horizontal scalability
is very difficult
Good Resources:
Good Tools:
https://developers.google.com/web/fundamentals/performance/?hl=en
https://www.udacity.com/course/website-performance-optimization--ud884chimera.labs.oreilly.com/
books/1230000000545
shop.oreilly.com/produc
t/0636920033578.do
https://developers.google.com/speed/
pagespeed/
https://gtmetrix.com http://www.webpagetest.org/
Accelerated Mobile Pages
Google‘s Approach for a Faster Web
How AMP works:
• Stripped down HTML + AMP tags
 rendered asynchronously by AMP runtime
• All CSS must be inlined
• All JS must be async
• Static sizes (e.g. iframes)  no repaints
• Cached in Google CDN, as long as it is crawled
the next time (no invalidation)
 only suited for static media, e.g. news
How to apply the same
techniques for any website?
https://www.ampproject.org
/docs/reference/spec.html
Goal: Low-Latency for Dynamic Content
By Serving Data from Ubiquitous Web Caches
Low Latency
Less Processing
6 Years
Research & Development
New Algorithms
Solve Consistency Problem
Innovation
Problem: changes cause stale data
6 Years
Research & Development
New Algorithms
Solve Consistency Problem
Innovation
Problem: changes cause stale data
6 Years
Research & Development
New Algorithms
Solve Consistency Problem
Stale
Data
Innovation
Problem: changes cause stale data
Innovation
Solution: Baqend proactively revalidates data
Bloom filter
updateIs still fresh? 1 0 11 0 0 10 1 1
6 Years
Research & Development
New Algorithms
Solve Consistency Problem
Innovation
Solution: Baqend proactively revalidates data
Bloom filter
updateIs still fresh? 1 0 11 0 0 10 1 1
6 Years
Research & Development
New Algorithms
Solve Consistency Problem
<
F. Gessert, F. Bücklers, und N. Ritter, „ORESTES: a Scalable Database-as-a-Service
Architecture for Low Latency“, in CloudDB 2014, 2014.
F. Gessert und F. Bücklers, „ORESTES: ein System für horizontal skalierbaren Zugriff auf
Cloud-Datenbanken“, in Informatiktage 2013, 2013.
F. Gessert, S. Friedrich, W. Wingerath, M. Schaarschmidt, und N. Ritter,
„Towards a Scalable and Unified REST API for Cloud Data Stores“, in 44.
Jahrestagung der GI, Bd. 232, S. 723–734.
F. Gessert, M. Schaarschmidt, W. Wingerath, S. Friedrich, und N. Ritter, „The
Cache Sketch: Revisiting Expiration-based Caching in the Age of Cloud Data
Management“, in BTW 2015.
F. Gessert und F. Bücklers, Performanz- und Reaktivitätssteigerung von OODBMS
vermittels der Web-Caching-Hierarchie. Bachelorarbeit, 2010.
F. Gessert und F. Bücklers, Kohärentes Web-Caching von Datenbankobjekten im
Cloud Computing. Masterarbeit 2012.
W. Wingerath, S. Friedrich, und F. Gessert, „Who Watches the Watchmen? On
the Lack of Validation in NoSQL Benchmarking“, in BTW 2015.
M. Schaarschmidt, F. Gessert, und N. Ritter, „Towards Automated Polyglot
Persistence“, in BTW 2015.
S. Friedrich, W. Wingerath, F. Gessert, und N. Ritter, „NoSQL OLTP Benchmarking: A
Survey“, in 44. Jahrestagung der Gesellschaft für Informatik, 2014, Bd. 232, S. 693–
704.
F. Gessert, „Skalierbare NoSQL- und Cloud-Datenbanken in Forschung und
Praxis“, BTW 2015
F. Gessert, N. Ritter „Scalable Data Management: NoSQL Data Stores in
Research and Practice“, 32nd IEEE International Conference on Data
Engineering, ICDE, 2016
W. Wingerath, F. Gessert, S. Friedrich, N. Ritter „Real-time stream processing for Big
Data“, Big Data Analytics it - Information Technology, 2016
F. Gessert, W. Wingerath, S. Friedrich, N. Ritter “NoSQL Database Systems: A Survey
and Decision Guidance”, Computer Science - Research and Development, 2016
F. Gessert, N. Ritter „Polyglot Persistence“, Datenbank Spektrum, 2016.
1 4 020
Browser
Cache
CDN
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020
Browser
Cache
CDN
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020
Browser
Cache
CDN
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020
Browser
Cache
CDN
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020
purge(obj)
hashB(oid)hashA(oid)
3
Browser
Cache
CDN
1
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020 31 1 110
Flat(Counting Bloomfilter)
Browser
Cache
CDN
1
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020 31 1 110
hashB(oid)hashA(oid)
Browser
Cache
CDN
1
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020 31 1 110
hashB(oid)hashA(oid)
Browser
Cache
CDN
1
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020 31 1 110
Browser
Cache
CDN
1
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020
hashB(oid)hashA(oid)
1 1 110
Browser
Cache
CDN
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
1 4 020
hashB(oid)hashA(oid)
1 1 110
Browser
Cache
CDN
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
𝑓 ≈ 1 − 𝑒−
𝑘𝑛
𝑚
𝑘
𝑘 = ln 2 ⋅ (
𝑛
𝑚
)
False-Positive
Rate:
Hash-
Functions:
With 20.000 distinct updates and 5% error rate: 11 KByte
1 4 020
hashB(oid)hashA(oid)
1 1 110
Browser
Cache
CDN
• Clients load the Cache Sketch at connection
• Every non-stale cached record can be reused
without degraded consistency
Faster Page Loads1
Continuous Query Matching
Generalizing the Cache Sketch to query results
Main challenge: when to invalidate?
◦ Objects: for every update and delete
◦ Queries: as soon as the query result changes
How to detect query result
changes in real-time?
2
Query Caching
Example
 Add, Change, Remove all entail an invalidation and
addition to the cache sketch
SELECT * FROM posts
WHERE tags CONTAINS 'b'
Query Predicate P
Cached Query Result Q
𝑜𝑏𝑗1 ∈ 𝐐
𝑜𝑏𝑗2 ∈ 𝐐
Change
Add
Remove
2
InvaliDB
Architecture
BAQEND
Create
Update
Delete
Pub-Sub Pub-Sub
1 0 11 0 0 10 1 1
Fresh Cache Sketch
Continuous
Queries
(Websockets)
Fresh Caches
Polyglot Views
Felix Gessert, Michael Schaarschmidt, Wolfram Wingerath, Steffen Friedrich, Norbert Ritter:
Quaestor: Scalable and Fresh Query Caching on the Web's Infrastructure. Under Submission.
2
Scalable ACID Transcations
• Solution: Conflict-Avoidant Optimistic Transactions
• Cache Sketch fetched with transaction begin
• Cached reads → Shorter transaction duration → less aborts
3
Cache
Cache
Cache
REST-Server
REST-Server
REST-Server
DB
Coordinator
Client
Begin Transaction
Bloom Filter
1
validation 4
5Writes (Public)
Read all
prevent conflicting
validations
Committed OR aborted + stale objects
Commit: readset versions & writeset
3
Reads
2
Scalable ACID Transcations
• Novelty: ACID transactions on sharded DBs like MongoDB
• Current Work: DESY and dCache building a scalable namespace
for their file system on this
3
With Caching
Without
Caching
BaqendParse Kinvey
0.3 s2.6 s 3.9 s
Competitive Advantage
What impact does Baqend have in practice?
Competitive Advantage
What impact does Baqend have in practice?
Competitive Advantage
What impact does Baqend have in practice?
0,7s
1,8s
2,8s
3,6s
3,4s
CALIFORNIA
0,5s
1,8s
2,9s
1,5s
1,3s
FRANKFURT
0,6s
3,0s
7,2s
5,0s
5,7s
SYDNEY
0,5s
2,4s
4,0s
5,7s
4,7s
TOKYO
Competitive Advantage
What impact does Baqend have in practice?
0,7s
1,8s
2,8s
3,6s
3,4s
CALIFORNIA
0,5s
1,8s
2,9s
1,5s
1,3s
FRANKFURT
0,6s
3,0s
7,2s
5,0s
5,7s
SYDNEY
0,5s
2,4s
4,0s
5,7s
4,7s
TOKYO
+156%
0,5s
1,3s
FRANKFURT
Summary
0 1 0 0 1
0 1 0 1 1
1 1 0 0 0
0 0 0 1 1
HTTP
Caching
Cache Sketch TTL
Estimation
RT Query
Matching
Invali-dations
Frontend
Shop
Simultaneous
Users
< 1 second
Page Load
Time
7.8%
Conversion
Rate
3%
Server
Usage
Ziel mit InnoRampUpOur Vision for Baqend:
„A web without load times“
www.baqend.com
@Baqendcom

More Related Content

What's hot

Data Modeling Basics for the Cloud with DataStax
Data Modeling Basics for the Cloud with DataStaxData Modeling Basics for the Cloud with DataStax
Data Modeling Basics for the Cloud with DataStax
DataStax
 
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
MongoDB
 
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Charles Allen
 
Cassandra 2.0 (Introduction)
Cassandra 2.0 (Introduction)Cassandra 2.0 (Introduction)
Cassandra 2.0 (Introduction)
bigdatagurus_meetup
 
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoNoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
Data Con LA
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
DataStax
 
MongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB Introdction
Brian Enochson
 
NOSQL in the Cloud
NOSQL in the CloudNOSQL in the Cloud
NOSQL in the Cloud
Sergey Shishkin
 
Private Cloud Self-Service at Scale
Private Cloud Self-Service at Scale Private Cloud Self-Service at Scale
Private Cloud Self-Service at Scale
MongoDB
 
Migrating from MySQL to MongoDB at Wordnik
Migrating from MySQL to MongoDB at WordnikMigrating from MySQL to MongoDB at Wordnik
Migrating from MySQL to MongoDB at Wordnik
Tony Tam
 
Webinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and ScaleWebinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and Scale
MongoDB
 
MongoDB on Azure
MongoDB on AzureMongoDB on Azure
MongoDB on Azure
Norberto Leite
 
MongoDB .local Bengaluru 2019: New Encryption Capabilities in MongoDB 4.2: A ...
MongoDB .local Bengaluru 2019: New Encryption Capabilities in MongoDB 4.2: A ...MongoDB .local Bengaluru 2019: New Encryption Capabilities in MongoDB 4.2: A ...
MongoDB .local Bengaluru 2019: New Encryption Capabilities in MongoDB 4.2: A ...
MongoDB
 
Going native with Apache Cassandra
Going native with Apache CassandraGoing native with Apache Cassandra
Going native with Apache Cassandra
Johnny Miller
 
Querying NoSQL with SQL: HAVING Your JSON Cake and SELECTing it too
Querying NoSQL with SQL: HAVING Your JSON Cake and SELECTing it tooQuerying NoSQL with SQL: HAVING Your JSON Cake and SELECTing it too
Querying NoSQL with SQL: HAVING Your JSON Cake and SELECTing it too
All Things Open
 
Unifying Events and Logs into the Cloud
Unifying Events and Logs into the CloudUnifying Events and Logs into the Cloud
Unifying Events and Logs into the Cloud
Eduardo Silva Pereira
 
Meetup Google BigQuery powered by ai
Meetup Google BigQuery powered by aiMeetup Google BigQuery powered by ai
Meetup Google BigQuery powered by ai
Ido Volff
 
Building a Real-Time Gaming Analytics Service with Apache Druid
Building a Real-Time Gaming Analytics Service with Apache DruidBuilding a Real-Time Gaming Analytics Service with Apache Druid
Building a Real-Time Gaming Analytics Service with Apache Druid
Imply
 
Data Platform in the Cloud
Data Platform in the CloudData Platform in the Cloud
Data Platform in the Cloud
Amihay Zer-Kavod
 

What's hot (20)

Data Modeling Basics for the Cloud with DataStax
Data Modeling Basics for the Cloud with DataStaxData Modeling Basics for the Cloud with DataStax
Data Modeling Basics for the Cloud with DataStax
 
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
How Thermo Fisher is Reducing Data Analysis Times from Days to Minutes with M...
 
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
 
Cassandra 2.0 (Introduction)
Cassandra 2.0 (Introduction)Cassandra 2.0 (Introduction)
Cassandra 2.0 (Introduction)
 
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim TkachenkoNoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
NoSQL on MySQL - MySQL Document Store by Vadim Tkachenko
 
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
Webinar: Dyn + DataStax - helping companies deliver exceptional end-user expe...
 
MongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local Bengaluru 2019: MongoDB Atlas Data Lake Technical Deep Dive
 
NoSQL and MongoDB Introdction
NoSQL and MongoDB IntrodctionNoSQL and MongoDB Introdction
NoSQL and MongoDB Introdction
 
NOSQL in the Cloud
NOSQL in the CloudNOSQL in the Cloud
NOSQL in the Cloud
 
Private Cloud Self-Service at Scale
Private Cloud Self-Service at Scale Private Cloud Self-Service at Scale
Private Cloud Self-Service at Scale
 
Migrating from MySQL to MongoDB at Wordnik
Migrating from MySQL to MongoDB at WordnikMigrating from MySQL to MongoDB at Wordnik
Migrating from MySQL to MongoDB at Wordnik
 
Webinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and ScaleWebinar: Choosing the Right Shard Key for High Performance and Scale
Webinar: Choosing the Right Shard Key for High Performance and Scale
 
MongoDB on Azure
MongoDB on AzureMongoDB on Azure
MongoDB on Azure
 
MongoDB .local Bengaluru 2019: New Encryption Capabilities in MongoDB 4.2: A ...
MongoDB .local Bengaluru 2019: New Encryption Capabilities in MongoDB 4.2: A ...MongoDB .local Bengaluru 2019: New Encryption Capabilities in MongoDB 4.2: A ...
MongoDB .local Bengaluru 2019: New Encryption Capabilities in MongoDB 4.2: A ...
 
Going native with Apache Cassandra
Going native with Apache CassandraGoing native with Apache Cassandra
Going native with Apache Cassandra
 
Querying NoSQL with SQL: HAVING Your JSON Cake and SELECTing it too
Querying NoSQL with SQL: HAVING Your JSON Cake and SELECTing it tooQuerying NoSQL with SQL: HAVING Your JSON Cake and SELECTing it too
Querying NoSQL with SQL: HAVING Your JSON Cake and SELECTing it too
 
Unifying Events and Logs into the Cloud
Unifying Events and Logs into the CloudUnifying Events and Logs into the Cloud
Unifying Events and Logs into the Cloud
 
Meetup Google BigQuery powered by ai
Meetup Google BigQuery powered by aiMeetup Google BigQuery powered by ai
Meetup Google BigQuery powered by ai
 
Building a Real-Time Gaming Analytics Service with Apache Druid
Building a Real-Time Gaming Analytics Service with Apache DruidBuilding a Real-Time Gaming Analytics Service with Apache Druid
Building a Real-Time Gaming Analytics Service with Apache Druid
 
Data Platform in the Cloud
Data Platform in the CloudData Platform in the Cloud
Data Platform in the Cloud
 

Viewers also liked

Building an Angular 2 App
Building an Angular 2 AppBuilding an Angular 2 App
Building an Angular 2 App
Felix Gessert
 
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Felix Gessert
 
Intro to Baqend
Intro to BaqendIntro to Baqend
Intro to Baqend
Felix Gessert
 
Pitch auf den Hamburger IT-Strategietagen
Pitch auf den Hamburger IT-StrategietagenPitch auf den Hamburger IT-Strategietagen
Pitch auf den Hamburger IT-Strategietagen
Felix Gessert
 
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
NoSQLmatters
 
Trusted Analytics as a Service (BDT209) | AWS re:Invent 2013
Trusted Analytics as a Service (BDT209) | AWS re:Invent 2013Trusted Analytics as a Service (BDT209) | AWS re:Invent 2013
Trusted Analytics as a Service (BDT209) | AWS re:Invent 2013
Amazon Web Services
 
Cloud-Powered Social Gaming
Cloud-Powered Social GamingCloud-Powered Social Gaming
Cloud-Powered Social Gaming
Amazon Web Services
 
Enabling Innovative Business Opportunities Through Secure Cloud Adoption - Se...
Enabling Innovative Business Opportunities Through Secure Cloud Adoption - Se...Enabling Innovative Business Opportunities Through Secure Cloud Adoption - Se...
Enabling Innovative Business Opportunities Through Secure Cloud Adoption - Se...
Amazon Web Services
 
Evaluating lessons
Evaluating lessons  Evaluating lessons
Evaluating lessons
mehro08
 
Apache Hadoop YARN, NameNode HA, HDFS Federation
Apache Hadoop YARN, NameNode HA, HDFS FederationApache Hadoop YARN, NameNode HA, HDFS Federation
Apache Hadoop YARN, NameNode HA, HDFS Federation
Adam Kawa
 

Viewers also liked (10)

Building an Angular 2 App
Building an Angular 2 AppBuilding an Angular 2 App
Building an Angular 2 App
 
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
Building a Global-Scale Multi-Tenant Cloud Platform on AWS and Docker: Lesson...
 
Intro to Baqend
Intro to BaqendIntro to Baqend
Intro to Baqend
 
Pitch auf den Hamburger IT-Strategietagen
Pitch auf den Hamburger IT-StrategietagenPitch auf den Hamburger IT-Strategietagen
Pitch auf den Hamburger IT-Strategietagen
 
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
Clinton Gormley – Elasticsearch Query DSL – Not just for wizards…- NoSQL matt...
 
Trusted Analytics as a Service (BDT209) | AWS re:Invent 2013
Trusted Analytics as a Service (BDT209) | AWS re:Invent 2013Trusted Analytics as a Service (BDT209) | AWS re:Invent 2013
Trusted Analytics as a Service (BDT209) | AWS re:Invent 2013
 
Cloud-Powered Social Gaming
Cloud-Powered Social GamingCloud-Powered Social Gaming
Cloud-Powered Social Gaming
 
Enabling Innovative Business Opportunities Through Secure Cloud Adoption - Se...
Enabling Innovative Business Opportunities Through Secure Cloud Adoption - Se...Enabling Innovative Business Opportunities Through Secure Cloud Adoption - Se...
Enabling Innovative Business Opportunities Through Secure Cloud Adoption - Se...
 
Evaluating lessons
Evaluating lessons  Evaluating lessons
Evaluating lessons
 
Apache Hadoop YARN, NameNode HA, HDFS Federation
Apache Hadoop YARN, NameNode HA, HDFS FederationApache Hadoop YARN, NameNode HA, HDFS Federation
Apache Hadoop YARN, NameNode HA, HDFS Federation
 

Similar to Web Performance – die effektivsten Techniken aus der Praxis

VoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big Data
VoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big DataVoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big Data
VoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big Data
VoltDB
 
Webinar: ROI on Big Data - RDBMS, NoSQL or Both? A Simple Guide for Knowing H...
Webinar: ROI on Big Data - RDBMS, NoSQL or Both? A Simple Guide for Knowing H...Webinar: ROI on Big Data - RDBMS, NoSQL or Both? A Simple Guide for Knowing H...
Webinar: ROI on Big Data - RDBMS, NoSQL or Both? A Simple Guide for Knowing H...
DataStax
 
Creating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital TransformationCreating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital Transformation
MongoDB
 
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
Amazon Web Services
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutions
Clusterpoint
 
NGINX for Application Delivery & Acceleration
NGINX for Application Delivery & AccelerationNGINX for Application Delivery & Acceleration
NGINX for Application Delivery & Acceleration
NGINX, Inc.
 
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
Cisco DevNet
 
Cloud Experience: Data-driven Applications Made Simple and Fast
Cloud Experience: Data-driven Applications Made Simple and FastCloud Experience: Data-driven Applications Made Simple and Fast
Cloud Experience: Data-driven Applications Made Simple and Fast
Databricks
 
So Long Computer Overlords
So Long Computer OverlordsSo Long Computer Overlords
So Long Computer Overlords
Ian Foster
 
Five ways database modernization simplifies your data life
Five ways database modernization simplifies your data lifeFive ways database modernization simplifies your data life
Five ways database modernization simplifies your data life
SingleStore
 
Rpi talk foster september 2011
Rpi talk foster september 2011Rpi talk foster september 2011
Rpi talk foster september 2011
Ian Foster
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
NGINX, Inc.
 
Data Virtualization: An Introduction
Data Virtualization: An IntroductionData Virtualization: An Introduction
Data Virtualization: An Introduction
Denodo
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
Andrew Morgan
 
Webinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDBWebinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDB
MongoDB
 
MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...
MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...
MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...
MongoDB
 
MongoDB Breakfast Milan - Mainframe Offloading Strategies
MongoDB Breakfast Milan -  Mainframe Offloading StrategiesMongoDB Breakfast Milan -  Mainframe Offloading Strategies
MongoDB Breakfast Milan - Mainframe Offloading Strategies
MongoDB
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream Processing
Guido Schmutz
 
Shikha fdp 62_14july2017
Shikha fdp 62_14july2017Shikha fdp 62_14july2017
Shikha fdp 62_14july2017
Dr. Shikha Mehta
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
Guido Schmutz
 

Similar to Web Performance – die effektivsten Techniken aus der Praxis (20)

VoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big Data
VoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big DataVoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big Data
VoltDB and HPE Vertica Present: Building an IoT Architecture for Fast + Big Data
 
Webinar: ROI on Big Data - RDBMS, NoSQL or Both? A Simple Guide for Knowing H...
Webinar: ROI on Big Data - RDBMS, NoSQL or Both? A Simple Guide for Knowing H...Webinar: ROI on Big Data - RDBMS, NoSQL or Both? A Simple Guide for Knowing H...
Webinar: ROI on Big Data - RDBMS, NoSQL or Both? A Simple Guide for Knowing H...
 
Creating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital TransformationCreating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital Transformation
 
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
AWS Partner Webcast - Analyze Big Data for Consumer Applications with Looker ...
 
High-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutionsHigh-performance database technology for rock-solid IoT solutions
High-performance database technology for rock-solid IoT solutions
 
NGINX for Application Delivery & Acceleration
NGINX for Application Delivery & AccelerationNGINX for Application Delivery & Acceleration
NGINX for Application Delivery & Acceleration
 
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...DEVNET-1140	InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
DEVNET-1140 InterCloud Mapreduce and Spark Workload Migration and Sharing: Fi...
 
Cloud Experience: Data-driven Applications Made Simple and Fast
Cloud Experience: Data-driven Applications Made Simple and FastCloud Experience: Data-driven Applications Made Simple and Fast
Cloud Experience: Data-driven Applications Made Simple and Fast
 
So Long Computer Overlords
So Long Computer OverlordsSo Long Computer Overlords
So Long Computer Overlords
 
Five ways database modernization simplifies your data life
Five ways database modernization simplifies your data lifeFive ways database modernization simplifies your data life
Five ways database modernization simplifies your data life
 
Rpi talk foster september 2011
Rpi talk foster september 2011Rpi talk foster september 2011
Rpi talk foster september 2011
 
Delivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINXDelivering High Performance Websites with NGINX
Delivering High Performance Websites with NGINX
 
Data Virtualization: An Introduction
Data Virtualization: An IntroductionData Virtualization: An Introduction
Data Virtualization: An Introduction
 
Data Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEAData Streaming with Apache Kafka & MongoDB - EMEA
Data Streaming with Apache Kafka & MongoDB - EMEA
 
Webinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDBWebinar: Data Streaming with Apache Kafka & MongoDB
Webinar: Data Streaming with Apache Kafka & MongoDB
 
MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...
MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...
MongoDB Days Silicon Valley: Jumpstart: The Right and Wrong Use Cases for Mon...
 
MongoDB Breakfast Milan - Mainframe Offloading Strategies
MongoDB Breakfast Milan -  Mainframe Offloading StrategiesMongoDB Breakfast Milan -  Mainframe Offloading Strategies
MongoDB Breakfast Milan - Mainframe Offloading Strategies
 
Introduction to Stream Processing
Introduction to Stream ProcessingIntroduction to Stream Processing
Introduction to Stream Processing
 
Shikha fdp 62_14july2017
Shikha fdp 62_14july2017Shikha fdp 62_14july2017
Shikha fdp 62_14july2017
 
Streaming Visualization
Streaming VisualizationStreaming Visualization
Streaming Visualization
 

Recently uploaded

Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 

Recently uploaded (20)

Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 

Web Performance – die effektivsten Techniken aus der Praxis

  • 1. Insert company logo UX/Frontend Web Performance Die effektivsten Techniken aus der Praxis Erik Witt Erik Witt 30.09.2016
  • 4. Average: 9,3s Loading… -1% Revenue 100 ms Why performance matters
  • 5. Average: 9,3s Loading… -1% Revenue -9% Visitors 400 ms Why performance matters
  • 6. Average: 9,3s Loading… -1% Revenue -9% Visitors 500 ms -20% Traffic Why performance matters
  • 7. Average: 9,3s Loading… -1% Revenue -9% Visitors -20% Traffic 1s -7% Conversions Why performance matters
  • 8. What should be the goal? Delay User Perception 0 – 100 ms Instant 100 – 300 ms Small perceptible delay 300 – 1000 ms Machine is working 1+ s Mental context switch 10+ s Taks is abandoned Stay under 1000 ms to keep users attention I. Grigorik, High performance browser networking. O’Reilly Media, 2013.
  • 9.
  • 10. Concrete Example A scalable webshop at Expectations: • 2.7 Million Viewers • 300.000 Visitors in 30 minutes • 20.000 Requests per second
  • 11. If performance is so important for Business Success ...what causes slow page load times?
  • 12. State of the Art The tree bottlenecks Network Backend Frontend
  • 13. CSS Render Tree Layout Frontend Performance The critical rendering path Paint Network JavaScript CSSOM DOM <!doctype html> <title>Code Talks</title> <link href=all.css rel=stylesheet /> <script src=app.css ></script> <div> <h1>Web Performance</h1> </div> div { color: green; } h1 { padding: 10px; } <script> elem.style.width = "50px"; document.write("JS is awesome!"); </script> HTML DOM Execution
  • 14. Frontend Performance Render and parser blocking Google Developers, Web Fundamentals https://developers.google.com/web/fundamentals/performance/critical-rendering-path/analyzing-crp What to do: • Inline critical CSS and JS above the fold • CSS at the top, JS at the bottom • Load non-critical CSS and JS asynchronously • Rendering the page progressively • Minify, concatenate, compress and cache CSS, JS and images
  • 15. Frontend Performance Tools to improve your page load PageSpeed Insights Profiling Minification & Compression Inlining & Optimization Google Closure UglifyJs & cssmin processhtml
  • 16. Frontend Performance Applied in the example processhtml Caching 565,9 KB Size: 767 ms Load time: 24 Requests:
  • 17. Network Performance Break down of a single resource load DNS Lookup • Every domain has its own DNS lookup Initial connection • TCP makes a three way handshake  2 roundtrips (1 with the new TCP Fast Open) • SSL connections have a more complex handshake  +2 roundtrips (only 1 with TLS False Start or Session Resumption) Time to First Byte • Depends heavily on the distance between client and the backend • Includes the time the backend needs to render the page  Session lookups, Database Queries, Template rendering … Content Download • Files have a high transfer time on new connections, since the initial congestion window is small  many roundtrips Maximum 6 parallel connections DNS Lookup Initial Connection SSL Handshake Time to First Byte Content Download https://www.thinks.com/ 20 ms0 53 ms 70 ms 90 ms36 ms
  • 18. Network Performance The average website http://httparchive.org/ Transfer Size: 2480 KB Total Requests: 104
  • 19. I. Grigorik, High performance browser networking. O’Reilly Media, 2013. Network Performance Network latency impact
  • 20. Network Performance Network latency impact I. Grigorik, High performance browser networking. O’Reilly Media, 2013. 2× Bandwidth = Same Load Time ½ Latency ≈ ½ Load Time
  • 21. Network Performance Common Tuning Knobs • Persistent connections, if possible HTTP/2 • Avoid redirects • Explicit caching headers (no heuristic caching) • Content Delivery Networks • To reduce the distance between client and server • To cache images, CSS, JS • To terminate SSL early and optimized • Single Page Apps: • Small initial page that loads additional parts asynchronously • Cacheable HTML templates + load dynamic data • Only update sections of the page during navigation HTTP/2 Performance Advantages: • Server Push • Header Compression • Request Pipelining • Multiplexing over 1 TCP connection (no head-of-line blocking)
  • 22. Network Performance Applied in the example What we do: • Heavy browser and CDN Caching • Avoid Redirects (+ serve from CDN) • Single Page App functionality • Persistent Backend Connections • Gzip Compression • IP Anycasting to nearest POP
  • 23. Backend Performance Overview • Horizontally scalable databases (e.g. “NoSQL”) • Replication • Sharding • Failover Load Balancer Application Server Database • Load Balancing • Auto-scaling • Failover • Stateless session handling • Minimize shared state • Efficient Code & IO Load Balancer Application Server Database
  • 25. Content-Delivery- Network Backend-as-a-Service Middleware: Caching, Transactions, Schemas, Invalidation Detection, … Backend Performance Applied in the example
  • 26. Content-Delivery- Network Standard HTTP Caching Backend Performance Applied in the example
  • 27. Content-Delivery- Network Unified REST API Backend Performance Applied in the example
  • 29. Performance: State of the Art Summarized Frontend Latency Backend • Doable with the right set of best practices • Good support through build tools • Caching and CDNs help, but a considerable effort and only for static content • Many frameworks and platforms • Horizontal scalability is very difficult
  • 30. Performance: State of the Art Summarized Frontend Latency Backend • Easy with the right set of best practices • Good support through build tools • Caching and CDNs help, but large effort and only for static content • Many frameworks and platforms • Horizontal scalability is very difficult Good Resources: Good Tools: https://developers.google.com/web/fundamentals/performance/?hl=en https://www.udacity.com/course/website-performance-optimization--ud884chimera.labs.oreilly.com/ books/1230000000545 shop.oreilly.com/produc t/0636920033578.do https://developers.google.com/speed/ pagespeed/ https://gtmetrix.com http://www.webpagetest.org/
  • 31. Accelerated Mobile Pages Google‘s Approach for a Faster Web How AMP works: • Stripped down HTML + AMP tags  rendered asynchronously by AMP runtime • All CSS must be inlined • All JS must be async • Static sizes (e.g. iframes)  no repaints • Cached in Google CDN, as long as it is crawled the next time (no invalidation)  only suited for static media, e.g. news How to apply the same techniques for any website? https://www.ampproject.org /docs/reference/spec.html
  • 32. Goal: Low-Latency for Dynamic Content By Serving Data from Ubiquitous Web Caches Low Latency Less Processing
  • 33. 6 Years Research & Development New Algorithms Solve Consistency Problem Innovation Problem: changes cause stale data
  • 34. 6 Years Research & Development New Algorithms Solve Consistency Problem Innovation Problem: changes cause stale data
  • 35. 6 Years Research & Development New Algorithms Solve Consistency Problem Stale Data Innovation Problem: changes cause stale data
  • 36. Innovation Solution: Baqend proactively revalidates data Bloom filter updateIs still fresh? 1 0 11 0 0 10 1 1 6 Years Research & Development New Algorithms Solve Consistency Problem
  • 37. Innovation Solution: Baqend proactively revalidates data Bloom filter updateIs still fresh? 1 0 11 0 0 10 1 1 6 Years Research & Development New Algorithms Solve Consistency Problem < F. Gessert, F. Bücklers, und N. Ritter, „ORESTES: a Scalable Database-as-a-Service Architecture for Low Latency“, in CloudDB 2014, 2014. F. Gessert und F. Bücklers, „ORESTES: ein System für horizontal skalierbaren Zugriff auf Cloud-Datenbanken“, in Informatiktage 2013, 2013. F. Gessert, S. Friedrich, W. Wingerath, M. Schaarschmidt, und N. Ritter, „Towards a Scalable and Unified REST API for Cloud Data Stores“, in 44. Jahrestagung der GI, Bd. 232, S. 723–734. F. Gessert, M. Schaarschmidt, W. Wingerath, S. Friedrich, und N. Ritter, „The Cache Sketch: Revisiting Expiration-based Caching in the Age of Cloud Data Management“, in BTW 2015. F. Gessert und F. Bücklers, Performanz- und Reaktivitätssteigerung von OODBMS vermittels der Web-Caching-Hierarchie. Bachelorarbeit, 2010. F. Gessert und F. Bücklers, Kohärentes Web-Caching von Datenbankobjekten im Cloud Computing. Masterarbeit 2012. W. Wingerath, S. Friedrich, und F. Gessert, „Who Watches the Watchmen? On the Lack of Validation in NoSQL Benchmarking“, in BTW 2015. M. Schaarschmidt, F. Gessert, und N. Ritter, „Towards Automated Polyglot Persistence“, in BTW 2015. S. Friedrich, W. Wingerath, F. Gessert, und N. Ritter, „NoSQL OLTP Benchmarking: A Survey“, in 44. Jahrestagung der Gesellschaft für Informatik, 2014, Bd. 232, S. 693– 704. F. Gessert, „Skalierbare NoSQL- und Cloud-Datenbanken in Forschung und Praxis“, BTW 2015 F. Gessert, N. Ritter „Scalable Data Management: NoSQL Data Stores in Research and Practice“, 32nd IEEE International Conference on Data Engineering, ICDE, 2016 W. Wingerath, F. Gessert, S. Friedrich, N. Ritter „Real-time stream processing for Big Data“, Big Data Analytics it - Information Technology, 2016 F. Gessert, W. Wingerath, S. Friedrich, N. Ritter “NoSQL Database Systems: A Survey and Decision Guidance”, Computer Science - Research and Development, 2016 F. Gessert, N. Ritter „Polyglot Persistence“, Datenbank Spektrum, 2016.
  • 38. 1 4 020 Browser Cache CDN • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 39. 1 4 020 Browser Cache CDN • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 40. 1 4 020 Browser Cache CDN • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 41. 1 4 020 Browser Cache CDN • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 42. 1 4 020 purge(obj) hashB(oid)hashA(oid) 3 Browser Cache CDN 1 • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 43. 1 4 020 31 1 110 Flat(Counting Bloomfilter) Browser Cache CDN 1 • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 44. 1 4 020 31 1 110 hashB(oid)hashA(oid) Browser Cache CDN 1 • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 45. 1 4 020 31 1 110 hashB(oid)hashA(oid) Browser Cache CDN 1 • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 46. 1 4 020 31 1 110 Browser Cache CDN 1 • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 47. 1 4 020 hashB(oid)hashA(oid) 1 1 110 Browser Cache CDN • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 48. 1 4 020 hashB(oid)hashA(oid) 1 1 110 Browser Cache CDN • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1 𝑓 ≈ 1 − 𝑒− 𝑘𝑛 𝑚 𝑘 𝑘 = ln 2 ⋅ ( 𝑛 𝑚 ) False-Positive Rate: Hash- Functions: With 20.000 distinct updates and 5% error rate: 11 KByte
  • 49. 1 4 020 hashB(oid)hashA(oid) 1 1 110 Browser Cache CDN • Clients load the Cache Sketch at connection • Every non-stale cached record can be reused without degraded consistency Faster Page Loads1
  • 50. Continuous Query Matching Generalizing the Cache Sketch to query results Main challenge: when to invalidate? ◦ Objects: for every update and delete ◦ Queries: as soon as the query result changes How to detect query result changes in real-time? 2
  • 51. Query Caching Example  Add, Change, Remove all entail an invalidation and addition to the cache sketch SELECT * FROM posts WHERE tags CONTAINS 'b' Query Predicate P Cached Query Result Q 𝑜𝑏𝑗1 ∈ 𝐐 𝑜𝑏𝑗2 ∈ 𝐐 Change Add Remove 2
  • 52. InvaliDB Architecture BAQEND Create Update Delete Pub-Sub Pub-Sub 1 0 11 0 0 10 1 1 Fresh Cache Sketch Continuous Queries (Websockets) Fresh Caches Polyglot Views Felix Gessert, Michael Schaarschmidt, Wolfram Wingerath, Steffen Friedrich, Norbert Ritter: Quaestor: Scalable and Fresh Query Caching on the Web's Infrastructure. Under Submission. 2
  • 53. Scalable ACID Transcations • Solution: Conflict-Avoidant Optimistic Transactions • Cache Sketch fetched with transaction begin • Cached reads → Shorter transaction duration → less aborts 3 Cache Cache Cache REST-Server REST-Server REST-Server DB Coordinator Client Begin Transaction Bloom Filter 1 validation 4 5Writes (Public) Read all prevent conflicting validations Committed OR aborted + stale objects Commit: readset versions & writeset 3 Reads 2
  • 54. Scalable ACID Transcations • Novelty: ACID transactions on sharded DBs like MongoDB • Current Work: DESY and dCache building a scalable namespace for their file system on this 3 With Caching Without Caching
  • 55.
  • 57. Competitive Advantage What impact does Baqend have in practice?
  • 58. Competitive Advantage What impact does Baqend have in practice?
  • 59. Competitive Advantage What impact does Baqend have in practice? 0,7s 1,8s 2,8s 3,6s 3,4s CALIFORNIA 0,5s 1,8s 2,9s 1,5s 1,3s FRANKFURT 0,6s 3,0s 7,2s 5,0s 5,7s SYDNEY 0,5s 2,4s 4,0s 5,7s 4,7s TOKYO
  • 60. Competitive Advantage What impact does Baqend have in practice? 0,7s 1,8s 2,8s 3,6s 3,4s CALIFORNIA 0,5s 1,8s 2,9s 1,5s 1,3s FRANKFURT 0,6s 3,0s 7,2s 5,0s 5,7s SYDNEY 0,5s 2,4s 4,0s 5,7s 4,7s TOKYO +156% 0,5s 1,3s FRANKFURT
  • 61. Summary 0 1 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 1 1 HTTP Caching Cache Sketch TTL Estimation RT Query Matching Invali-dations Frontend
  • 62.
  • 63. Shop Simultaneous Users < 1 second Page Load Time 7.8% Conversion Rate 3% Server Usage
  • 64. Ziel mit InnoRampUpOur Vision for Baqend: „A web without load times“ www.baqend.com @Baqendcom