SlideShare a Scribd company logo
Benchmarking
distributed tracers
Han Qiao
Imperial College London
What is tracing?
- Follows a web request along its
critical path
- Records runtime parameters
that contribute to high latency
Source: Zipkin.io
Motivation
- Current web architecture makes
tail latency issues pervasive and
difficult to diagnose
- Microservice
architecture
- Asynchronous RPCs
Source: The Tail at Scale by Jeff Dean
Benchmark
Application
- EchoService
- Acts as a database
- HelloService
- Concatenates results
from 3 requests to
EchoService
- All requests are
asynchronous
- Written as Spring Boot
applications and deployed on
docker swarm
Methodology
- Single host
- Baseline measurement
- Minimize network fluctuation
- Measure instrumentation overhead only
- Multi-node cluster
- More realistic to real world deployment
- Load balanced service (replicas)
- Fan-out service (search engine)
Baseline
measurement
- Host machine
- Quad-core 3.7 GHz
- 8GB RAM
- Ubuntu 16.04
- docker 17.04
- wrk2 load generator
- 2 threads
- 40 connections
- 80 requests / second
- 40% peak load
- No queuing
- No coordinated omission
Baseline
measurement
- Host machine
- Quad-core 3.7 GHz
- 8GB RAM
- Ubuntu 16.04
- docker 17.04
- wrk2 load generator
- 2 threads
- 40 connections
- 80 requests / second
- 40% peak load
- No queuing
- No coordinated omission
TCP delayed acknowledgement
Instrumented
with tracers
- Spring Cloud Sleuth
- mean: 7.29 ms
- stdev: 8.70 ms
- Jaeger
- mean: 3.75 ms
- stdev: 1.38 ms
- Minke
- mean: 3.75 ms
- stdev: 1.21 ms
- Baseline
- mean: 3.26 ms
- stdev: 0.99 ms
Increasing no. of
tracepoints
(Minke tracer)
- 1000
- mean: 46.79 ms
- stdev: 21.53 ms
- 100
- mean: 4.47 ms
- stdev: 2.38 ms
- 10
- mean: 3.75 ms
- stdev: 1.21 ms
- 0 (Baseline)
- mean: 3.26 ms
- stdev: 0.99 ms
Increasing no. of
tracepoints
(mean latency)
- Enclose instrumented method in
a for loop and vary loop count
- Biased towards logging
and instrumentation
overhead
- 12.5 ms wait time between
every request
- 4.47 ms mean response time @
100 tracepoints (server handles
only one request at a time)
- 46.79 ms mean response time @
1000 tracepoints (combined
effect of higher overhead and
queueing of requests)
Load balanced service
Load balanced
service
- 90% requests complete within
20 ms @ 1000 tracepoints
- 90% requests took more than
50 ms on a single host
- The reduced mean response
time is likely a result of
distributing logging activities
across more nodes
Fan-out service
Fan-out service
- 1 second latency outlier due to
TCP retransmission delay
- Reduced throughput to 10
requests per second to
eliminate effects from queueing
- Vary fan-out value by changing
query parameter
Fan-out service
- 1 second latency outlier due to
TCP retransmission delay
- Reduced throughput to 10
requests per second to
eliminate effects from queueing
- Vary fan-out value by changing
query parameter
TCP retransmission delay
Fan-out service
- 1 second latency outlier due to
TCP retransmission delay
- Reduced throughput to 10
requests per second to
eliminate effects from queueing
- Vary fan-out value by changing
query parameter
Fan-out service
- 1 second latency outlier due to
TCP retransmission delay
- Reduced throughput to 10
requests per second to
eliminate effects from queueing
- Vary fan-out value by changing
query parameter
Fan-out service
- 1 second latency outlier due to
TCP retransmission delay
- Reduced throughput to 10
requests per second to
eliminate effects from queueing
- Vary fan-out value by changing
query parameter
Usability comparison between different tracers
11
includes dependencies in docker base image
12
instruments concurrency libraries by default
13
logs to local disk and waits for collection event
Open source benchmarks
- https://github.com/sweatybridge/spring-jaeger
- https://github.com/sweatybridge/spring-zipkin
- https://github.com/sweatybridge/minke (coming soon)

More Related Content

What's hot

Load Balanced DNS Server A server which cycles through IP ...
Load Balanced DNS Server A server which cycles through IP ...Load Balanced DNS Server A server which cycles through IP ...
Load Balanced DNS Server A server which cycles through IP ...
webhostingguy
 
Network Application Performance
Network Application PerformanceNetwork Application Performance
Network Application Performance
Shumon Huque
 
Better performances with HTTP/2
Better performances with HTTP/2Better performances with HTTP/2
Better performances with HTTP/2
Thomas Segismont
 
HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016
Daniel Stenberg
 
HTTP 프로토콜의 이해와 활용
HTTP 프로토콜의 이해와 활용HTTP 프로토콜의 이해와 활용
HTTP 프로토콜의 이해와 활용
SangJin Kang
 
Remote method invocation (RMI)
Remote method invocation (RMI)Remote method invocation (RMI)
Remote method invocation (RMI)
AbdolNaser Dorgalaleh
 
Alternative Infrastucture
Alternative InfrastuctureAlternative Infrastucture
Alternative Infrastucture
Marc Seeger
 
Async event based web server
Async event based web serverAsync event based web server
Async event based web server
Gi Woong Lee
 
HTTP/2
HTTP/2HTTP/2
File_Transfer_Protocol_Design
File_Transfer_Protocol_DesignFile_Transfer_Protocol_Design
File_Transfer_Protocol_Design
Vishal Vasudev
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2
Ido Flatow
 
HTTP/2 standard for video streaming
HTTP/2 standard for video streamingHTTP/2 standard for video streaming
HTTP/2 standard for video streaming
Hung Thai Le
 
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Continuent
 
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
BIOVIA
 
Building scalable network applications with Netty (as presented on NLJUG JFal...
Building scalable network applications with Netty (as presented on NLJUG JFal...Building scalable network applications with Netty (as presented on NLJUG JFal...
Building scalable network applications with Netty (as presented on NLJUG JFal...
Jaap ter Woerds
 
Boyan Ivanov - latency, the #1 metric of your cloud
Boyan Ivanov - latency, the #1 metric of your cloudBoyan Ivanov - latency, the #1 metric of your cloud
Boyan Ivanov - latency, the #1 metric of your cloud
ShapeBlue
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
Edward Burns
 
Webapplication Load Balancing
Webapplication Load BalancingWebapplication Load Balancing
Webapplication Load Balancing
Gowrisankar Narayana
 
Denial of Service Mitigation Tactics in FreeBSD
Denial of Service Mitigation Tactics in FreeBSDDenial of Service Mitigation Tactics in FreeBSD
Denial of Service Mitigation Tactics in FreeBSD
Steven Kreuzer
 
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
Denis Kolegov
 

What's hot (20)

Load Balanced DNS Server A server which cycles through IP ...
Load Balanced DNS Server A server which cycles through IP ...Load Balanced DNS Server A server which cycles through IP ...
Load Balanced DNS Server A server which cycles through IP ...
 
Network Application Performance
Network Application PerformanceNetwork Application Performance
Network Application Performance
 
Better performances with HTTP/2
Better performances with HTTP/2Better performances with HTTP/2
Better performances with HTTP/2
 
HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016HTTP/2 Update - FOSDEM 2016
HTTP/2 Update - FOSDEM 2016
 
HTTP 프로토콜의 이해와 활용
HTTP 프로토콜의 이해와 활용HTTP 프로토콜의 이해와 활용
HTTP 프로토콜의 이해와 활용
 
Remote method invocation (RMI)
Remote method invocation (RMI)Remote method invocation (RMI)
Remote method invocation (RMI)
 
Alternative Infrastucture
Alternative InfrastuctureAlternative Infrastucture
Alternative Infrastucture
 
Async event based web server
Async event based web serverAsync event based web server
Async event based web server
 
HTTP/2
HTTP/2HTTP/2
HTTP/2
 
File_Transfer_Protocol_Design
File_Transfer_Protocol_DesignFile_Transfer_Protocol_Design
File_Transfer_Protocol_Design
 
Introducing HTTP/2
Introducing HTTP/2Introducing HTTP/2
Introducing HTTP/2
 
HTTP/2 standard for video streaming
HTTP/2 standard for video streamingHTTP/2 standard for video streaming
HTTP/2 standard for video streaming
 
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
Training Slides: Advanced 304: Upgrading From Native MySQL Replication To Tun...
 
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
(ATS4-PLAT01) Core Architecture Changes in AEP 9.0 and their Impact on Admini...
 
Building scalable network applications with Netty (as presented on NLJUG JFal...
Building scalable network applications with Netty (as presented on NLJUG JFal...Building scalable network applications with Netty (as presented on NLJUG JFal...
Building scalable network applications with Netty (as presented on NLJUG JFal...
 
Boyan Ivanov - latency, the #1 metric of your cloud
Boyan Ivanov - latency, the #1 metric of your cloudBoyan Ivanov - latency, the #1 metric of your cloud
Boyan Ivanov - latency, the #1 metric of your cloud
 
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
HTTP/2 Comes to Java: Servlet 4.0 and what it means for the Java/Jakarta EE e...
 
Webapplication Load Balancing
Webapplication Load BalancingWebapplication Load Balancing
Webapplication Load Balancing
 
Denial of Service Mitigation Tactics in FreeBSD
Denial of Service Mitigation Tactics in FreeBSDDenial of Service Mitigation Tactics in FreeBSD
Denial of Service Mitigation Tactics in FreeBSD
 
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
Covert Timing Channels based on HTTP Cache Headers (Special Edition for Top 1...
 

Similar to Benchmarking distributed tracers

Cloud Performance Benchmarking
Cloud Performance BenchmarkingCloud Performance Benchmarking
Cloud Performance Benchmarking
Santanu Dey
 
Munich 2016 - Z011601 Martin Packer - Parallel Sysplex Performance Topics topics
Munich 2016 - Z011601 Martin Packer - Parallel Sysplex Performance Topics topicsMunich 2016 - Z011601 Martin Packer - Parallel Sysplex Performance Topics topics
Munich 2016 - Z011601 Martin Packer - Parallel Sysplex Performance Topics topics
Martin Packer
 
(NET404) Making Every Packet Count
(NET404) Making Every Packet Count(NET404) Making Every Packet Count
(NET404) Making Every Packet Count
Amazon Web Services
 
Presentacion QoS.pptx
Presentacion QoS.pptxPresentacion QoS.pptx
Presentacion QoS.pptx
Daniel Viveros Sepulveda
 
Full Stack Load Testing
Full Stack Load Testing Full Stack Load Testing
Full Stack Load Testing
Terral R Jordan
 
Aplication and Transport layer- a practical approach
Aplication and Transport layer-  a practical approachAplication and Transport layer-  a practical approach
Aplication and Transport layer- a practical approach
Sarah R. Dowlath
 
AWS re:Invent 2016: Making Every Packet Count (NET404)
AWS re:Invent 2016: Making Every Packet Count (NET404)AWS re:Invent 2016: Making Every Packet Count (NET404)
AWS re:Invent 2016: Making Every Packet Count (NET404)
Amazon Web Services
 
Nginx وب سروری برای تمام فصول
Nginx وب سروری برای تمام فصولNginx وب سروری برای تمام فصول
Nginx وب سروری برای تمام فصول
efazati
 
integrated and diffrentiated services
 integrated and diffrentiated services integrated and diffrentiated services
integrated and diffrentiated services
Rishabh Gupta
 
Qo s 09-integrated and red
Qo s 09-integrated and redQo s 09-integrated and red
Qo s 09-integrated and red
Abhishek Kesharwani
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
MNM Jain Engineering College
 
High Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBandHigh Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBand
webhostingguy
 
Optimizing Uptime in SOA
Optimizing Uptime in SOAOptimizing Uptime in SOA
Optimizing Uptime in SOA
Matthew Barlocker
 
Reduced network traffic
Reduced network trafficReduced network traffic
Reduced network traffic
SJCET.PALAI
 
CDN Project Presentation
CDN Project PresentationCDN Project Presentation
CDN Project Presentation
Rasiah Senthurchelvan
 
Building Asynchronous Microservices with Armeria
Building Asynchronous Microservices with ArmeriaBuilding Asynchronous Microservices with Armeria
Building Asynchronous Microservices with Armeria
LINE Corporation
 
Netty 4-based RPC System Development
Netty 4-based RPC System DevelopmentNetty 4-based RPC System Development
Netty 4-based RPC System Development
Allan Huang
 
slides
slidesslides
High performance browser networking ch1,2,3
High performance browser networking ch1,2,3High performance browser networking ch1,2,3
High performance browser networking ch1,2,3
Seung-Bum Lee
 
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
HostedbyConfluent
 

Similar to Benchmarking distributed tracers (20)

Cloud Performance Benchmarking
Cloud Performance BenchmarkingCloud Performance Benchmarking
Cloud Performance Benchmarking
 
Munich 2016 - Z011601 Martin Packer - Parallel Sysplex Performance Topics topics
Munich 2016 - Z011601 Martin Packer - Parallel Sysplex Performance Topics topicsMunich 2016 - Z011601 Martin Packer - Parallel Sysplex Performance Topics topics
Munich 2016 - Z011601 Martin Packer - Parallel Sysplex Performance Topics topics
 
(NET404) Making Every Packet Count
(NET404) Making Every Packet Count(NET404) Making Every Packet Count
(NET404) Making Every Packet Count
 
Presentacion QoS.pptx
Presentacion QoS.pptxPresentacion QoS.pptx
Presentacion QoS.pptx
 
Full Stack Load Testing
Full Stack Load Testing Full Stack Load Testing
Full Stack Load Testing
 
Aplication and Transport layer- a practical approach
Aplication and Transport layer-  a practical approachAplication and Transport layer-  a practical approach
Aplication and Transport layer- a practical approach
 
AWS re:Invent 2016: Making Every Packet Count (NET404)
AWS re:Invent 2016: Making Every Packet Count (NET404)AWS re:Invent 2016: Making Every Packet Count (NET404)
AWS re:Invent 2016: Making Every Packet Count (NET404)
 
Nginx وب سروری برای تمام فصول
Nginx وب سروری برای تمام فصولNginx وب سروری برای تمام فصول
Nginx وب سروری برای تمام فصول
 
integrated and diffrentiated services
 integrated and diffrentiated services integrated and diffrentiated services
integrated and diffrentiated services
 
Qo s 09-integrated and red
Qo s 09-integrated and redQo s 09-integrated and red
Qo s 09-integrated and red
 
Remote Procedure Call
Remote Procedure CallRemote Procedure Call
Remote Procedure Call
 
High Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBandHigh Performance Communication for Oracle using InfiniBand
High Performance Communication for Oracle using InfiniBand
 
Optimizing Uptime in SOA
Optimizing Uptime in SOAOptimizing Uptime in SOA
Optimizing Uptime in SOA
 
Reduced network traffic
Reduced network trafficReduced network traffic
Reduced network traffic
 
CDN Project Presentation
CDN Project PresentationCDN Project Presentation
CDN Project Presentation
 
Building Asynchronous Microservices with Armeria
Building Asynchronous Microservices with ArmeriaBuilding Asynchronous Microservices with Armeria
Building Asynchronous Microservices with Armeria
 
Netty 4-based RPC System Development
Netty 4-based RPC System DevelopmentNetty 4-based RPC System Development
Netty 4-based RPC System Development
 
slides
slidesslides
slides
 
High performance browser networking ch1,2,3
High performance browser networking ch1,2,3High performance browser networking ch1,2,3
High performance browser networking ch1,2,3
 
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
 

Recently uploaded

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
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
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
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
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
“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
 

Recently uploaded (20)

Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
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
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
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
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
“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...
 

Benchmarking distributed tracers

  • 2. What is tracing? - Follows a web request along its critical path - Records runtime parameters that contribute to high latency Source: Zipkin.io
  • 3. Motivation - Current web architecture makes tail latency issues pervasive and difficult to diagnose - Microservice architecture - Asynchronous RPCs Source: The Tail at Scale by Jeff Dean
  • 4. Benchmark Application - EchoService - Acts as a database - HelloService - Concatenates results from 3 requests to EchoService - All requests are asynchronous - Written as Spring Boot applications and deployed on docker swarm
  • 5. Methodology - Single host - Baseline measurement - Minimize network fluctuation - Measure instrumentation overhead only - Multi-node cluster - More realistic to real world deployment - Load balanced service (replicas) - Fan-out service (search engine)
  • 6. Baseline measurement - Host machine - Quad-core 3.7 GHz - 8GB RAM - Ubuntu 16.04 - docker 17.04 - wrk2 load generator - 2 threads - 40 connections - 80 requests / second - 40% peak load - No queuing - No coordinated omission
  • 7. Baseline measurement - Host machine - Quad-core 3.7 GHz - 8GB RAM - Ubuntu 16.04 - docker 17.04 - wrk2 load generator - 2 threads - 40 connections - 80 requests / second - 40% peak load - No queuing - No coordinated omission TCP delayed acknowledgement
  • 8. Instrumented with tracers - Spring Cloud Sleuth - mean: 7.29 ms - stdev: 8.70 ms - Jaeger - mean: 3.75 ms - stdev: 1.38 ms - Minke - mean: 3.75 ms - stdev: 1.21 ms - Baseline - mean: 3.26 ms - stdev: 0.99 ms
  • 9. Increasing no. of tracepoints (Minke tracer) - 1000 - mean: 46.79 ms - stdev: 21.53 ms - 100 - mean: 4.47 ms - stdev: 2.38 ms - 10 - mean: 3.75 ms - stdev: 1.21 ms - 0 (Baseline) - mean: 3.26 ms - stdev: 0.99 ms
  • 10. Increasing no. of tracepoints (mean latency) - Enclose instrumented method in a for loop and vary loop count - Biased towards logging and instrumentation overhead - 12.5 ms wait time between every request - 4.47 ms mean response time @ 100 tracepoints (server handles only one request at a time) - 46.79 ms mean response time @ 1000 tracepoints (combined effect of higher overhead and queueing of requests)
  • 12. Load balanced service - 90% requests complete within 20 ms @ 1000 tracepoints - 90% requests took more than 50 ms on a single host - The reduced mean response time is likely a result of distributing logging activities across more nodes
  • 14. Fan-out service - 1 second latency outlier due to TCP retransmission delay - Reduced throughput to 10 requests per second to eliminate effects from queueing - Vary fan-out value by changing query parameter
  • 15. Fan-out service - 1 second latency outlier due to TCP retransmission delay - Reduced throughput to 10 requests per second to eliminate effects from queueing - Vary fan-out value by changing query parameter TCP retransmission delay
  • 16. Fan-out service - 1 second latency outlier due to TCP retransmission delay - Reduced throughput to 10 requests per second to eliminate effects from queueing - Vary fan-out value by changing query parameter
  • 17. Fan-out service - 1 second latency outlier due to TCP retransmission delay - Reduced throughput to 10 requests per second to eliminate effects from queueing - Vary fan-out value by changing query parameter
  • 18. Fan-out service - 1 second latency outlier due to TCP retransmission delay - Reduced throughput to 10 requests per second to eliminate effects from queueing - Vary fan-out value by changing query parameter
  • 19. Usability comparison between different tracers 11 includes dependencies in docker base image 12 instruments concurrency libraries by default 13 logs to local disk and waits for collection event
  • 20. Open source benchmarks - https://github.com/sweatybridge/spring-jaeger - https://github.com/sweatybridge/spring-zipkin - https://github.com/sweatybridge/minke (coming soon)