SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
E2E Performance Testing, Profiling, and
Analysis at Redis
Filipe Oliveira
CMG Atlanta 2024
Filipe Oliveira
Principal Performance Engineer at Redis
> whoami
■ Working on continuous performance analysis
■ Open Source Contributor (C, Go):
● github.com/redis-performance
● github.com/redis/redis
● https://github.com/HdrHistogram/hdrhistogram-go
● https://github.com/RedisBloom/t-digest-c
> whoami
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Agenda
Performance @Redis
The “old behaviour”
The do’s and dont’s
Our approach
KEY TAKEAWAYS
Performance…
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Ordinarily, on our companies core products
We have...
● automatic extensive tests to catch functional failures
...but when
● we accidentally commit a performance regression, nothing intercepts it*!
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> a real case from the past
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> a real case from the past
1. RediSearch minor version bump
2. Required multiple patch
a. Feedback cycle took us at-least 1 day
b. prioritized over other projects
c. Siloed
d. Jul. 30, Nov. 27, 2019
You can relate to...
● your team run performance tests before releasing
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> a real case from the past
1. RediSearch minor version bump
2. Required multiple patch
a. Feedback cycle took us at-least 1 day
b. prioritized over other projects
c. Siloed
d. Jul. 30, Nov. 27, 2019
You can relate to...
● your team run performance tests before releasing
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Ordinarily, on our companies core products
You can state...
● your team run performance tests before releasing
...but solving slowdowns just before releasing is...
● dangerous
● time-consuming
● one of the most difficult tasks to estimate time to
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Ordinarily, on our companies core products
You can state...
● your team run performance tests before releasing
...doing so is just buffering potential issues!
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> goal: reduce feedback cycle. avoid silos
Requirements for valid tests
- Stable testing environment
- Deterministic testing tools
- Deterministic outcomes
- Reduced testing/probing overhead
- Reduce tested changes to the minimal
Requirements for acceptance in
products
- Acceptable duration
- No manual work
- Actionable items
- Well defined key performance
indicators
CODE REVIEW
PREVIEW /
UNSTABLE
RELEASE
MANUAL
PERF
CHECK
from:
CODE REVIEW
PREVIEW /
UNSTABLE
RELEASE
ZERO TOUCH
PERF CHECK
ZERO TOUCH
PERF CHECK
ZERO TOUCH
PERF CHECK
to:
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> this is not new / disruptive
Elastic
https://elasticsearch-benchmarks.elastic.co/#
Lucene
https://home.apache.org/~mikemccand/lucenebench/
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> this is not new / disruptive
mongoDB
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> how we’re actually doing it
CODE REVIEW
PREVIEW /
UNSTABLE
RELEASE
ZERO TOUCH
PERF CHECK
ZERO TOUCH
PERF CHECK
ZERO TOUCH
PERF CHECK
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> how we’re actually doing it
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> How we’re
actually
doing it…
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
- summary dashboard details for Redis Ltd Performance CI tracking -
> 200 Active steady stable VMs on peak > 100K benchmark runs in ~= 2 years
> how we’re actually doing it
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> our approach
Vanilla Redis (purely OSS project)
1. Created an OSS SPEC
a. [follow link]
2. Extend the spec and use it
a. for historical data
b. for regression analysis
c. for docs
Redis Developers Group +
(Redis Ltd, AWS, Ericson, Alibaba, …. )
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
by branch
scalability analysis
by version
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
scalability analysis by branch/version including client and server metrics
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
nightly:
feature* / perf* / v*:
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
1. Full process Flame Graph + main thread Flame Graph
2. perf report per dso
3. perf report per dso,sym (w/wout callgraph)
4. perf report per dso,sym,srcline (w/wout callgraph)
5. identical stacks collapsed
6. hotpath callgraph
1
3
2
4
6
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
> 300 individual profiles all merged…
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
> 300 individual profiles all merged…
© 2024 Redis Ltd. All rights reserved. Confidential (Internal use only)
Analysis:
https://github.com/RedisTimeSeries/RedisTimeSeries/issues/793
PR:
https://github.com/RedisTimeSeries/RedisTimeSeries/pull/794
WIP:
https://github.com/RedisTimeSeries/RedisTimeSeries/issues/907
> our approach
Redis Ltd
1. Started by the small scale
projects
a. Redis Module’s
2. Initial OSS deployments
3. local and remote triggers
4. Used for testing, profiling
a. Regression analysis
i. and fix
b. Approval of features
c. Proactive optimization
concrete outcomes…
improved Redis
performance by up to 4x![1]
[1] - https:/
/redis.com/blog/redis-intel-performance-testing/
https:/
/redis.com/blog/redis-7-geographic-commands/
> what we’ve gained (1/4)
● Deeply reduced the feedback cycle ( days -> 1 hour )
● Dev’s can easily add tests (> 300 full suites)
● Scaled + more challenging!
● performance is now everyone’s power/responsibility
> what we’ve gained (2/4)
● A/B test new tech/state-of-the-art HW/SW components
● Continuous up-to-date numbers for use-cases that matter
● Foster openness community/cross-company efforts
> what we’ve gained (3/4)
● Able to commit to reduce overhead per operation on our cloud/SW
● Competitive advantage/Leading
● Shift proactive/reactive + predictiveness
● Reduce costs
○ manual work/detection is at least 17.5X more expensive vs automation detection
> what we’ve gained (4/4)
● ability to reproduce the performance of > 10 years of
development of Redis
■ “go back in time”
what’s next…
● Extend profiler daemon to bpf tooling, vtune
○ off-cpu analysis
○ threading/locking
○ vectorization reports
VISIBILITY for Points of Improvement
> what’s next feature wise (1/2)
> what’s next feature wise (2/2)
● extend tools to characterize further the workload
○ mem bound/cpu bound
○ HW counters
■ stalls on memory
○ % time off-cpu
○ extend partner tooling and HW
■ beta versions of their next gen HW
■ multi-arch comparisons (we do it manually now)
○ extended io statistics
● include low(*er) overhead profilers / tracers
○ call count analysis
○ off cpu flame charts analysis
○ syscall
○ …
> what’s next product wise
● Improve anomaly/regression detection
● Increase OSS / Company adoption
○ expose data on docs
Follow up links
● Redis Performance Group
● Redis Benchmarks Specification
● Making the fast faster blog
Thank you.
ping us at: performance <at> redis <dot> com

Contenu connexe

Similaire à CMG 2024 - Performance Testing, Profiling, and Analysis at Redis

Curiosity and Testery Present: Hitting the right test coverage for CI/CD
Curiosity and Testery Present: Hitting the right test coverage for CI/CDCuriosity and Testery Present: Hitting the right test coverage for CI/CD
Curiosity and Testery Present: Hitting the right test coverage for CI/CDCuriosity Software Ireland
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackDevOps.com
 
Dev ops for z
Dev ops for z Dev ops for z
Dev ops for z bamadhu
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
 
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...David Buck
 
Continuous Integration for z using Test Data Management and Application D...
Continuous  Integration for z  using  Test Data Management  and Application D...Continuous  Integration for z  using  Test Data Management  and Application D...
Continuous Integration for z using Test Data Management and Application D...DevOps for Enterprise Systems
 
Alexyj Kovaliov "Waterfalling to Agile"
Alexyj Kovaliov "Waterfalling to Agile" Alexyj Kovaliov "Waterfalling to Agile"
Alexyj Kovaliov "Waterfalling to Agile" Agile Lietuva
 
DevOps in the Hybrid Cloud
DevOps in the Hybrid CloudDevOps in the Hybrid Cloud
DevOps in the Hybrid CloudRichard Irving
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...RapidValue
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsIBM UrbanCode Products
 
Wim Demey - Regression Testing in a Migration Project
Wim Demey - Regression Testing in a Migration Project Wim Demey - Regression Testing in a Migration Project
Wim Demey - Regression Testing in a Migration Project TEST Huddle
 
Enabling DevOps in the cloud - Federal Cloud Innovation Center
Enabling DevOps in the cloud - Federal Cloud Innovation CenterEnabling DevOps in the cloud - Federal Cloud Innovation Center
Enabling DevOps in the cloud - Federal Cloud Innovation CenterSanjeev Sharma
 
Minimize Headaches with Your Postgres Deployment
Minimize Headaches with Your Postgres DeploymentMinimize Headaches with Your Postgres Deployment
Minimize Headaches with Your Postgres DeploymentEDB
 
Success Story - Database Testing
Success Story - Database Testing Success Story - Database Testing
Success Story - Database Testing Indium Software
 
Success Story - Database Testing
Success Story - Database Testing Success Story - Database Testing
Success Story - Database Testing Indium Software
 
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...Craeg Strong
 

Similaire à CMG 2024 - Performance Testing, Profiling, and Analysis at Redis (20)

Curiosity and Testery Present: Hitting the right test coverage for CI/CD
Curiosity and Testery Present: Hitting the right test coverage for CI/CDCuriosity and Testery Present: Hitting the right test coverage for CI/CD
Curiosity and Testery Present: Hitting the right test coverage for CI/CD
 
Adopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed ITAdopting DevOps for 2-Speed IT
Adopting DevOps for 2-Speed IT
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise Stack
 
IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z IBM Z for the Digital Enterprise - DevOps for Z
IBM Z for the Digital Enterprise - DevOps for Z
 
Dev ops for z
Dev ops for z Dev ops for z
Dev ops for z
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
S903 palla
S903 pallaS903 palla
S903 palla
 
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
 
Continuous Integration for z using Test Data Management and Application D...
Continuous  Integration for z  using  Test Data Management  and Application D...Continuous  Integration for z  using  Test Data Management  and Application D...
Continuous Integration for z using Test Data Management and Application D...
 
Alexyj Kovaliov "Waterfalling to Agile"
Alexyj Kovaliov "Waterfalling to Agile" Alexyj Kovaliov "Waterfalling to Agile"
Alexyj Kovaliov "Waterfalling to Agile"
 
DevOps in the Hybrid Cloud
DevOps in the Hybrid CloudDevOps in the Hybrid Cloud
DevOps in the Hybrid Cloud
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
 
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform EnvironmentsDeployment Automation for Hybrid Cloud and Multi-Platform Environments
Deployment Automation for Hybrid Cloud and Multi-Platform Environments
 
Wim Demey - Regression Testing in a Migration Project
Wim Demey - Regression Testing in a Migration Project Wim Demey - Regression Testing in a Migration Project
Wim Demey - Regression Testing in a Migration Project
 
How to Build a DevOps Toolchain
How to Build a DevOps ToolchainHow to Build a DevOps Toolchain
How to Build a DevOps Toolchain
 
Enabling DevOps in the cloud - Federal Cloud Innovation Center
Enabling DevOps in the cloud - Federal Cloud Innovation CenterEnabling DevOps in the cloud - Federal Cloud Innovation Center
Enabling DevOps in the cloud - Federal Cloud Innovation Center
 
Minimize Headaches with Your Postgres Deployment
Minimize Headaches with Your Postgres DeploymentMinimize Headaches with Your Postgres Deployment
Minimize Headaches with Your Postgres Deployment
 
Success Story - Database Testing
Success Story - Database Testing Success Story - Database Testing
Success Story - Database Testing
 
Success Story - Database Testing
Success Story - Database Testing Success Story - Database Testing
Success Story - Database Testing
 
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
 

Dernier

Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).pptssuser5c9d4b1
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...Call Girls in Nagpur High Profile
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 

Dernier (20)

Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
247267395-1-Symmetric-and-distributed-shared-memory-architectures-ppt (1).ppt
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
High Profile Call Girls Nashik Megha 7001305949 Independent Escort Service Na...
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 

CMG 2024 - Performance Testing, Profiling, and Analysis at Redis

  • 1. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) E2E Performance Testing, Profiling, and Analysis at Redis Filipe Oliveira CMG Atlanta 2024
  • 2. Filipe Oliveira Principal Performance Engineer at Redis > whoami
  • 3. ■ Working on continuous performance analysis ■ Open Source Contributor (C, Go): ● github.com/redis-performance ● github.com/redis/redis ● https://github.com/HdrHistogram/hdrhistogram-go ● https://github.com/RedisBloom/t-digest-c > whoami
  • 4. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Agenda Performance @Redis The “old behaviour” The do’s and dont’s Our approach KEY TAKEAWAYS
  • 6. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Ordinarily, on our companies core products We have... ● automatic extensive tests to catch functional failures ...but when ● we accidentally commit a performance regression, nothing intercepts it*!
  • 7. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > a real case from the past
  • 8. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > a real case from the past 1. RediSearch minor version bump 2. Required multiple patch a. Feedback cycle took us at-least 1 day b. prioritized over other projects c. Siloed d. Jul. 30, Nov. 27, 2019 You can relate to... ● your team run performance tests before releasing
  • 9. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > a real case from the past 1. RediSearch minor version bump 2. Required multiple patch a. Feedback cycle took us at-least 1 day b. prioritized over other projects c. Siloed d. Jul. 30, Nov. 27, 2019 You can relate to... ● your team run performance tests before releasing
  • 10. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Ordinarily, on our companies core products You can state... ● your team run performance tests before releasing ...but solving slowdowns just before releasing is... ● dangerous ● time-consuming ● one of the most difficult tasks to estimate time to
  • 11. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Ordinarily, on our companies core products You can state... ● your team run performance tests before releasing ...doing so is just buffering potential issues!
  • 12. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > goal: reduce feedback cycle. avoid silos Requirements for valid tests - Stable testing environment - Deterministic testing tools - Deterministic outcomes - Reduced testing/probing overhead - Reduce tested changes to the minimal Requirements for acceptance in products - Acceptable duration - No manual work - Actionable items - Well defined key performance indicators CODE REVIEW PREVIEW / UNSTABLE RELEASE MANUAL PERF CHECK from: CODE REVIEW PREVIEW / UNSTABLE RELEASE ZERO TOUCH PERF CHECK ZERO TOUCH PERF CHECK ZERO TOUCH PERF CHECK to:
  • 13. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > this is not new / disruptive Elastic https://elasticsearch-benchmarks.elastic.co/# Lucene https://home.apache.org/~mikemccand/lucenebench/
  • 14. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > this is not new / disruptive mongoDB
  • 15. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > how we’re actually doing it CODE REVIEW PREVIEW / UNSTABLE RELEASE ZERO TOUCH PERF CHECK ZERO TOUCH PERF CHECK ZERO TOUCH PERF CHECK
  • 16. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > how we’re actually doing it
  • 17. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > How we’re actually doing it…
  • 18. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) - summary dashboard details for Redis Ltd Performance CI tracking - > 200 Active steady stable VMs on peak > 100K benchmark runs in ~= 2 years > how we’re actually doing it
  • 19. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > our approach Vanilla Redis (purely OSS project) 1. Created an OSS SPEC a. [follow link] 2. Extend the spec and use it a. for historical data b. for regression analysis c. for docs Redis Developers Group + (Redis Ltd, AWS, Ericson, Alibaba, …. )
  • 20. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization
  • 21. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) by branch scalability analysis by version > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization
  • 22. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) scalability analysis by branch/version including client and server metrics > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization
  • 23. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization
  • 24. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) nightly: feature* / perf* / v*: > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization
  • 25. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization
  • 26. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) 1. Full process Flame Graph + main thread Flame Graph 2. perf report per dso 3. perf report per dso,sym (w/wout callgraph) 4. perf report per dso,sym,srcline (w/wout callgraph) 5. identical stacks collapsed 6. hotpath callgraph 1 3 2 4 6 > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization
  • 27. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization > 300 individual profiles all merged…
  • 28. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization > 300 individual profiles all merged…
  • 29. © 2024 Redis Ltd. All rights reserved. Confidential (Internal use only) Analysis: https://github.com/RedisTimeSeries/RedisTimeSeries/issues/793 PR: https://github.com/RedisTimeSeries/RedisTimeSeries/pull/794 WIP: https://github.com/RedisTimeSeries/RedisTimeSeries/issues/907 > our approach Redis Ltd 1. Started by the small scale projects a. Redis Module’s 2. Initial OSS deployments 3. local and remote triggers 4. Used for testing, profiling a. Regression analysis i. and fix b. Approval of features c. Proactive optimization
  • 31. improved Redis performance by up to 4x![1] [1] - https:/ /redis.com/blog/redis-intel-performance-testing/ https:/ /redis.com/blog/redis-7-geographic-commands/
  • 32. > what we’ve gained (1/4) ● Deeply reduced the feedback cycle ( days -> 1 hour ) ● Dev’s can easily add tests (> 300 full suites) ● Scaled + more challenging! ● performance is now everyone’s power/responsibility
  • 33. > what we’ve gained (2/4) ● A/B test new tech/state-of-the-art HW/SW components ● Continuous up-to-date numbers for use-cases that matter ● Foster openness community/cross-company efforts
  • 34. > what we’ve gained (3/4) ● Able to commit to reduce overhead per operation on our cloud/SW ● Competitive advantage/Leading ● Shift proactive/reactive + predictiveness ● Reduce costs ○ manual work/detection is at least 17.5X more expensive vs automation detection
  • 35. > what we’ve gained (4/4) ● ability to reproduce the performance of > 10 years of development of Redis ■ “go back in time”
  • 37. ● Extend profiler daemon to bpf tooling, vtune ○ off-cpu analysis ○ threading/locking ○ vectorization reports VISIBILITY for Points of Improvement > what’s next feature wise (1/2)
  • 38. > what’s next feature wise (2/2) ● extend tools to characterize further the workload ○ mem bound/cpu bound ○ HW counters ■ stalls on memory ○ % time off-cpu ○ extend partner tooling and HW ■ beta versions of their next gen HW ■ multi-arch comparisons (we do it manually now) ○ extended io statistics ● include low(*er) overhead profilers / tracers ○ call count analysis ○ off cpu flame charts analysis ○ syscall ○ …
  • 39. > what’s next product wise ● Improve anomaly/regression detection ● Increase OSS / Company adoption ○ expose data on docs
  • 40. Follow up links ● Redis Performance Group ● Redis Benchmarks Specification ● Making the fast faster blog
  • 41. Thank you. ping us at: performance <at> redis <dot> com