SlideShare a Scribd company logo
1 of 21
Download to read offline
DEVOPS INDONESIA
Jakarta, 04 April 2019
Performance Test Bulls Eye
DevOps Community in Indonesia
Performance Test Bull’sEye
is a
in Indonesia
is a leading marketplace
in Indonesia
is a leading marketplace
in Indonesia
is a technology company
in Indonesia
that creates opportunities
and helps everyone achievemore
Our Mission is to
Democratize Commerce
Through Technology
2 minutes to startabusiness
Over5 million merchants
70% first-timeentrepreneurs
Reach93% of districts inIndonesia
100 million products listedwith
samepriceandservices
100,000 payment collectionpoints
Affordableinvestmentsandworking
capitalsolution
Over30 digital productsthat
savetimeforconsumers
Our Impact Today
Marketplace &
Digital Goods
Fintech&
Payment
Logistic &Fulfillment
New Retail
Our Businesses
FreeC2Cbusinessplatform for
merchantsandbuyers. Merchant
tools thatempower merchantsto
domore.Also hostOfficialStores
for brands.30digitalproducts
thatsimplifylives.
Digitalwallet,affordable
investments,merchant
loans,virtualcreditcard,
protectionproducts,
data-drivencreditscoringfor
lending,investmentsand other
financialservices.
Shippingmadeeasywithour
integratedlogistics system.
Customerscanchoosetheir
preferredpackagearrivaltime
whichwill beaccommodated by
ourlogistic providers.
Mitra Tokopediaenables small
merchanttosell digitalgoods
andkeep theirofflinestore,and
allow storesto buyproducts
and stocks inwholesale.
Performance Test
Bull’s Eye
Whyduringrealeventtheservice is still down?
The Ultimate Question
Already had performance test; result RPS was high.
1. Preparationto acceptspecial eventtraffic,muchbiggerthanusual
2. Measurehowstrongourserviceis
3. Earlyidentifyissues foundduringheavyload
Back to basics: what are the purpose of load test?
Expectations after doing proper loadtest
1. Know whereweare,howstrong weare,howweakweare
2. Know howbigweshall scale verticallyandhorizontally
3. Know whichpartof thecode has performancedebt
4. Know whichpoints to armourservices so theywon’tgetdown during
event
5. Know if ourservices will autorecoveror notafter heavyload passed
Before we continue, do not
forget the most important
aspect to setup!
Right! The Metrics
Load Test isnot about execution
…itis aboutpreparation!
Q: Where to put the Metrics ?
A: Everywhere that fits
1. MaxRequests?
2. MaxRPS?
3. AverageRequests?
4. AverageRPS?
5. MaxLatency?
6. AverageLatency?
7. PercentileLatency?
8. Success/Error Rates?
9. Anythingelse? Dotheyallmatter?
1. All services/APIs/Pages exposedtooutside/internet
2. All dynamicresources thatareproducedbytheserver
3. Exclude:static resources should stayin CDNorsimilar/S3
What to load test?
Load Test Result must
be seen in multi
dimensional way!
Load Test Output torecord?
Time
Metrics
Users
RP
S
SuccessRate
Latency
This might be our breaking point
100%successrate
Success Rate
dropsbelow80%
Success raterecovers
What is successrate?
What is breakingpoint?
1. OurMain Score for loadtest
2. Point in RPS graphwheresuccess rateis less thanourpre-definedacceptable/ standard
rate,i.e.80%
3. Belowtheacceptablesuccess ratetheRPS informationis nolongeruseful,because theyare
failing;Andwedon’ttakeprideonfailures,dowe?
Percentageof Requestscomparedto previouspoint,whicharenotfailed.
● I.e. currentpointhas 9000requestscount(since beginningoftest)
● Previous point(i.e.fewseconds ago)has 8500requestscount
● At currentpoint,numberof totalrequestfailures is120
● At previouspoint,numberof totalrequestfailures was110
● Deltarequest=9000-8500=500 Deltafailures =120-110=10
● Hencecanbesaid that,from500requests,wehave10failures,which definesa
98%success rate
Generic rule to load testcase:
Needto cyclethroughall theparametersacceptedbyanAPI/ page,withrandom,dynamic values,actual
valuesandcombinationof themall.
How to load test a login page/API?
Randomlytryto login manydifferent(actual)users to thesystemandseehowit handles. More unique
users provided,is better.
How to load test a search page/API?
Randomlytryto usebothvalidkeywordandinvalidkeywordswhencallingtheAPI. We needto have
hugelist of keyword(s)database.
Hence, can be derived: How to load test a transactional flow?
● Randomlyloginauser
● Randomlysearchfor ashop
● Fromashop,randomlygetaproductto addto cart,thenaddtocart
● Randomlyuseaddress(if possible) tocheckout
● Makepayment
Load TestTips
● Use singleindependentconnectionperrequest.Donotre-useconnection/socket.
● Definethetimeoutcriteriaandstick withit as ourqualitymeasure.
● Ourloadtestqualitydependsonthedynamicdataweuseduringthetest.Please investgood
amountof timeto preparetheloadtestdataanddon’ttakeitlightly.
● Needto produceenoughloads onthetargetserver.If CPU orMemoryusageis still low,thenwe
arenotdoingit goodenough.
● Prepareprofilerbeforehand.If oursystemdoes nothaveon-demand/liveprofiler, thenwehave
to implementthis. Profiling shall bedonewhenloadtestreachesits peaktraffic,so thatwe
knowwhatfunctiontoimprove.
● Donotgetsatisfied withshort timeloadtest.Prolong thetestwithhightrafficto see if oursystem
canhandlethis in prolongedperiod.
● Runseveralrelatedload tests togetherto simulaterealfunnel.(Wemightbe surprisedat
whatissue canbecaused)
Service PerformanceTips
● SeparatetheDBusecases properly.Utilize in-memoryDBlikeRedis,useelastic- searchand
no-SQLas alternativeof conventionalACID DBaccordingto usecase.
● Use webservercachingfunctionalityfor static/ notso dynamicpages.
● Investin goodsystemarchitecturethatcanimmediatelyautorestarttheserviceif down.
● Investin goodServerLoad Balancerthatcanbeexpandedif needed.
● If bottleneckis inmicroserviceCPU, justdohorizontalscaling will solvethis.Butnot if this
happensin databaseCPU or I/O. Taketimeto reviewandreinvestin robust databasearchitecture.
Know whento separateDB,whento dosharding,whento use commercialcloudDBservice.
● In theendwecan’tmakeeverybodyhappy:thereforethesystemhas to apply incomingservice
limiters,andrejectimmediately(withfriendlyusermessage)when systemis alreadyfull.
Now, It’s Your Turn!
tokopedia.com/about

More Related Content

Similar to DevOps Indonesia Meetup at ACT - Performance Test Bulls Eye

How to Build ROI for Conversational AI
How to Build ROI for Conversational AIHow to Build ROI for Conversational AI
How to Build ROI for Conversational AIAggregage
 
Salmat digital shared
Salmat digital sharedSalmat digital shared
Salmat digital sharedDenise Tung
 
Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...emagia
 
numberz Accounts Receivable for Enterprise
numberz Accounts Receivable for Enterprisenumberz Accounts Receivable for Enterprise
numberz Accounts Receivable for EnterpriseRajeev Chari
 
World-class Digital Order-To-Cash: Transforming Accounts Receivables For the ...
World-class Digital Order-To-Cash: Transforming Accounts Receivables For the ...World-class Digital Order-To-Cash: Transforming Accounts Receivables For the ...
World-class Digital Order-To-Cash: Transforming Accounts Receivables For the ...emagia
 
Jose luis soria project portfolio management with kanban in an internationa...
Jose luis soria   project portfolio management with kanban in an internationa...Jose luis soria   project portfolio management with kanban in an internationa...
Jose luis soria project portfolio management with kanban in an internationa...Kanban Conferences
 
AtLast Fulfillment
AtLast FulfillmentAtLast Fulfillment
AtLast Fulfillmentjimejams
 
SonalBajpai-Voda1
SonalBajpai-Voda1SonalBajpai-Voda1
SonalBajpai-Voda1bobby sr
 
IP Integration Transforming Customer Engagement
IP Integration Transforming Customer EngagementIP Integration Transforming Customer Engagement
IP Integration Transforming Customer EngagementToby Mason
 
How I shifted My Business One Subscription At A Time (Subscribed13)
How I shifted My Business One Subscription At A Time (Subscribed13) How I shifted My Business One Subscription At A Time (Subscribed13)
How I shifted My Business One Subscription At A Time (Subscribed13) Zuora, Inc.
 
Better, Faster, Cheaper: How to Deliver Customer-Centric Services Across You...
Better, Faster, Cheaper: How to  Deliver Customer-Centric Services Across You...Better, Faster, Cheaper: How to  Deliver Customer-Centric Services Across You...
Better, Faster, Cheaper: How to Deliver Customer-Centric Services Across You...Linium
 
Payscape partnership presentation 2016
Payscape partnership presentation 2016Payscape partnership presentation 2016
Payscape partnership presentation 2016Payscape
 
Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...emagia
 
Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...emagia
 
Customer Centricity - Center point of every company's strategy
Customer Centricity - Center point of every company's strategyCustomer Centricity - Center point of every company's strategy
Customer Centricity - Center point of every company's strategyKnowlarity
 

Similar to DevOps Indonesia Meetup at ACT - Performance Test Bulls Eye (20)

How to Build ROI for Conversational AI
How to Build ROI for Conversational AIHow to Build ROI for Conversational AI
How to Build ROI for Conversational AI
 
Salmat digital shared
Salmat digital sharedSalmat digital shared
Salmat digital shared
 
Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...
 
numberz Accounts Receivable for Enterprise
numberz Accounts Receivable for Enterprisenumberz Accounts Receivable for Enterprise
numberz Accounts Receivable for Enterprise
 
World-class Digital Order-To-Cash: Transforming Accounts Receivables For the ...
World-class Digital Order-To-Cash: Transforming Accounts Receivables For the ...World-class Digital Order-To-Cash: Transforming Accounts Receivables For the ...
World-class Digital Order-To-Cash: Transforming Accounts Receivables For the ...
 
Jose luis soria project portfolio management with kanban in an internationa...
Jose luis soria   project portfolio management with kanban in an internationa...Jose luis soria   project portfolio management with kanban in an internationa...
Jose luis soria project portfolio management with kanban in an internationa...
 
AtLast Fulfillment
AtLast FulfillmentAtLast Fulfillment
AtLast Fulfillment
 
SonalBajpai-Voda1
SonalBajpai-Voda1SonalBajpai-Voda1
SonalBajpai-Voda1
 
Proposal for pos
Proposal for posProposal for pos
Proposal for pos
 
Proposal for pos
Proposal for posProposal for pos
Proposal for pos
 
Multi recharge API
Multi recharge APIMulti recharge API
Multi recharge API
 
IP Integration Transforming Customer Engagement
IP Integration Transforming Customer EngagementIP Integration Transforming Customer Engagement
IP Integration Transforming Customer Engagement
 
How I shifted My Business One Subscription At A Time (Subscribed13)
How I shifted My Business One Subscription At A Time (Subscribed13) How I shifted My Business One Subscription At A Time (Subscribed13)
How I shifted My Business One Subscription At A Time (Subscribed13)
 
Better, Faster, Cheaper: How to Deliver Customer-Centric Services Across You...
Better, Faster, Cheaper: How to  Deliver Customer-Centric Services Across You...Better, Faster, Cheaper: How to  Deliver Customer-Centric Services Across You...
Better, Faster, Cheaper: How to Deliver Customer-Centric Services Across You...
 
Payscape partnership presentation 2016
Payscape partnership presentation 2016Payscape partnership presentation 2016
Payscape partnership presentation 2016
 
Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...
 
Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...Enterprise Digital Assistants: How they can support you in your Credit, Colle...
Enterprise Digital Assistants: How they can support you in your Credit, Colle...
 
Artelnics
ArtelnicsArtelnics
Artelnics
 
Customer Centricity - Center point of every company's strategy
Customer Centricity - Center point of every company's strategyCustomer Centricity - Center point of every company's strategy
Customer Centricity - Center point of every company's strategy
 
Crafsol Outsourcing Solutions
Crafsol Outsourcing SolutionsCrafsol Outsourcing Solutions
Crafsol Outsourcing Solutions
 

More from DevOps Indonesia

DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation JourneyDevOps Indonesia
 
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022DevOps Indonesia
 
Securing an NGINX deployment for K8s
Securing an NGINX deployment for K8sSecuring an NGINX deployment for K8s
Securing an NGINX deployment for K8sDevOps Indonesia
 
Observability in highly distributed systems
Observability in highly distributed systemsObservability in highly distributed systems
Observability in highly distributed systemsDevOps Indonesia
 
DevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcementDevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcementDevOps Indonesia
 
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - AnnouncementDev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - AnnouncementDevOps Indonesia
 
DevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - AnnouncementDevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - AnnouncementDevOps Indonesia
 
Secure your Application with Google cloud armor
Secure your Application with Google cloud armorSecure your Application with Google cloud armor
Secure your Application with Google cloud armorDevOps Indonesia
 
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps IndonesiaDevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps IndonesiaDevOps Indonesia
 
Operate Containers with AWS Copilot
Operate Containers with AWS CopilotOperate Containers with AWS Copilot
Operate Containers with AWS CopilotDevOps Indonesia
 
Continuously Deploy Your CDK Application by Petra novandi barus
Continuously  Deploy Your CDK Application by Petra novandi barusContinuously  Deploy Your CDK Application by Petra novandi barus
Continuously Deploy Your CDK Application by Petra novandi barusDevOps Indonesia
 
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...DevOps Indonesia
 
Securing Your Database Dynamic DB Credentials
Securing Your Database  Dynamic DB CredentialsSecuring Your Database  Dynamic DB Credentials
Securing Your Database Dynamic DB CredentialsDevOps Indonesia
 
DevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - AnnouncementDevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - AnnouncementDevOps Indonesia
 
The Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOpsThe Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOpsDevOps Indonesia
 
API Security Webinar - Credential Stuffing
API Security Webinar - Credential StuffingAPI Security Webinar - Credential Stuffing
API Security Webinar - Credential StuffingDevOps Indonesia
 
API Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIsAPI Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIsDevOps Indonesia
 
API Security Webinar - Hendra Tanto
API Security Webinar - Hendra TantoAPI Security Webinar - Hendra Tanto
API Security Webinar - Hendra TantoDevOps Indonesia
 
API Security Webinar : Credential Stuffing
API Security Webinar : Credential StuffingAPI Security Webinar : Credential Stuffing
API Security Webinar : Credential StuffingDevOps Indonesia
 

More from DevOps Indonesia (20)

DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
DevOps Indonesia X Palo Alto and Dkatalis Roadshow to DevOpsDays Jakarta 2022
 
Securing an NGINX deployment for K8s
Securing an NGINX deployment for K8sSecuring an NGINX deployment for K8s
Securing an NGINX deployment for K8s
 
Observability in highly distributed systems
Observability in highly distributed systemsObservability in highly distributed systems
Observability in highly distributed systems
 
DevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcementDevOps Indonesia Meetup #52 - announcement
DevOps Indonesia Meetup #52 - announcement
 
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - AnnouncementDev ops meetup 51 : Securing DevOps Lifecycle - Announcement
Dev ops meetup 51 : Securing DevOps Lifecycle - Announcement
 
Securing DevOps Lifecycle
Securing DevOps LifecycleSecuring DevOps Lifecycle
Securing DevOps Lifecycle
 
DevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - AnnouncementDevOps Meetup 50 : Securing your Application - Announcement
DevOps Meetup 50 : Securing your Application - Announcement
 
Secure your Application with Google cloud armor
Secure your Application with Google cloud armorSecure your Application with Google cloud armor
Secure your Application with Google cloud armor
 
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps IndonesiaDevOps Meetup 49  Aws Copilot and Gitops - announcement by DevOps Indonesia
DevOps Meetup 49 Aws Copilot and Gitops - announcement by DevOps Indonesia
 
Operate Containers with AWS Copilot
Operate Containers with AWS CopilotOperate Containers with AWS Copilot
Operate Containers with AWS Copilot
 
Continuously Deploy Your CDK Application by Petra novandi barus
Continuously  Deploy Your CDK Application by Petra novandi barusContinuously  Deploy Your CDK Application by Petra novandi barus
Continuously Deploy Your CDK Application by Petra novandi barus
 
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...DevOps indonesia (online) meetup 46  aws with payfazz in devops indonesia - a...
DevOps indonesia (online) meetup 46 aws with payfazz in devops indonesia - a...
 
Securing Your Database Dynamic DB Credentials
Securing Your Database  Dynamic DB CredentialsSecuring Your Database  Dynamic DB Credentials
Securing Your Database Dynamic DB Credentials
 
DevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - AnnouncementDevOps Indonesia (online) meetup 45 - Announcement
DevOps Indonesia (online) meetup 45 - Announcement
 
The Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOpsThe Death and Rise of Enterprise DevOps
The Death and Rise of Enterprise DevOps
 
API Security Webinar - Credential Stuffing
API Security Webinar - Credential StuffingAPI Security Webinar - Credential Stuffing
API Security Webinar - Credential Stuffing
 
API Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIsAPI Security Webinar - Security Guidelines for Providing and Consuming APIs
API Security Webinar - Security Guidelines for Providing and Consuming APIs
 
API Security Webinar - Hendra Tanto
API Security Webinar - Hendra TantoAPI Security Webinar - Hendra Tanto
API Security Webinar - Hendra Tanto
 
API Security Webinar : Credential Stuffing
API Security Webinar : Credential StuffingAPI Security Webinar : Credential Stuffing
API Security Webinar : Credential Stuffing
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 

DevOps Indonesia Meetup at ACT - Performance Test Bulls Eye

  • 1. DEVOPS INDONESIA Jakarta, 04 April 2019 Performance Test Bulls Eye DevOps Community in Indonesia
  • 4. is a leading marketplace in Indonesia
  • 5. is a leading marketplace in Indonesia
  • 6. is a technology company in Indonesia that creates opportunities and helps everyone achievemore
  • 7. Our Mission is to Democratize Commerce Through Technology
  • 8. 2 minutes to startabusiness Over5 million merchants 70% first-timeentrepreneurs Reach93% of districts inIndonesia 100 million products listedwith samepriceandservices 100,000 payment collectionpoints Affordableinvestmentsandworking capitalsolution Over30 digital productsthat savetimeforconsumers Our Impact Today
  • 9. Marketplace & Digital Goods Fintech& Payment Logistic &Fulfillment New Retail Our Businesses FreeC2Cbusinessplatform for merchantsandbuyers. Merchant tools thatempower merchantsto domore.Also hostOfficialStores for brands.30digitalproducts thatsimplifylives. Digitalwallet,affordable investments,merchant loans,virtualcreditcard, protectionproducts, data-drivencreditscoringfor lending,investmentsand other financialservices. Shippingmadeeasywithour integratedlogistics system. Customerscanchoosetheir preferredpackagearrivaltime whichwill beaccommodated by ourlogistic providers. Mitra Tokopediaenables small merchanttosell digitalgoods andkeep theirofflinestore,and allow storesto buyproducts and stocks inwholesale.
  • 11. Whyduringrealeventtheservice is still down? The Ultimate Question Already had performance test; result RPS was high.
  • 12. 1. Preparationto acceptspecial eventtraffic,muchbiggerthanusual 2. Measurehowstrongourserviceis 3. Earlyidentifyissues foundduringheavyload Back to basics: what are the purpose of load test? Expectations after doing proper loadtest 1. Know whereweare,howstrong weare,howweakweare 2. Know howbigweshall scale verticallyandhorizontally 3. Know whichpartof thecode has performancedebt 4. Know whichpoints to armourservices so theywon’tgetdown during event 5. Know if ourservices will autorecoveror notafter heavyload passed
  • 13. Before we continue, do not forget the most important aspect to setup! Right! The Metrics Load Test isnot about execution …itis aboutpreparation!
  • 14. Q: Where to put the Metrics ? A: Everywhere that fits
  • 15. 1. MaxRequests? 2. MaxRPS? 3. AverageRequests? 4. AverageRPS? 5. MaxLatency? 6. AverageLatency? 7. PercentileLatency? 8. Success/Error Rates? 9. Anythingelse? Dotheyallmatter? 1. All services/APIs/Pages exposedtooutside/internet 2. All dynamicresources thatareproducedbytheserver 3. Exclude:static resources should stayin CDNorsimilar/S3 What to load test? Load Test Result must be seen in multi dimensional way! Load Test Output torecord?
  • 16. Time Metrics Users RP S SuccessRate Latency This might be our breaking point 100%successrate Success Rate dropsbelow80% Success raterecovers
  • 17. What is successrate? What is breakingpoint? 1. OurMain Score for loadtest 2. Point in RPS graphwheresuccess rateis less thanourpre-definedacceptable/ standard rate,i.e.80% 3. Belowtheacceptablesuccess ratetheRPS informationis nolongeruseful,because theyare failing;Andwedon’ttakeprideonfailures,dowe? Percentageof Requestscomparedto previouspoint,whicharenotfailed. ● I.e. currentpointhas 9000requestscount(since beginningoftest) ● Previous point(i.e.fewseconds ago)has 8500requestscount ● At currentpoint,numberof totalrequestfailures is120 ● At previouspoint,numberof totalrequestfailures was110 ● Deltarequest=9000-8500=500 Deltafailures =120-110=10 ● Hencecanbesaid that,from500requests,wehave10failures,which definesa 98%success rate
  • 18. Generic rule to load testcase: Needto cyclethroughall theparametersacceptedbyanAPI/ page,withrandom,dynamic values,actual valuesandcombinationof themall. How to load test a login page/API? Randomlytryto login manydifferent(actual)users to thesystemandseehowit handles. More unique users provided,is better. How to load test a search page/API? Randomlytryto usebothvalidkeywordandinvalidkeywordswhencallingtheAPI. We needto have hugelist of keyword(s)database. Hence, can be derived: How to load test a transactional flow? ● Randomlyloginauser ● Randomlysearchfor ashop ● Fromashop,randomlygetaproductto addto cart,thenaddtocart ● Randomlyuseaddress(if possible) tocheckout ● Makepayment
  • 19. Load TestTips ● Use singleindependentconnectionperrequest.Donotre-useconnection/socket. ● Definethetimeoutcriteriaandstick withit as ourqualitymeasure. ● Ourloadtestqualitydependsonthedynamicdataweuseduringthetest.Please investgood amountof timeto preparetheloadtestdataanddon’ttakeitlightly. ● Needto produceenoughloads onthetargetserver.If CPU orMemoryusageis still low,thenwe arenotdoingit goodenough. ● Prepareprofilerbeforehand.If oursystemdoes nothaveon-demand/liveprofiler, thenwehave to implementthis. Profiling shall bedonewhenloadtestreachesits peaktraffic,so thatwe knowwhatfunctiontoimprove. ● Donotgetsatisfied withshort timeloadtest.Prolong thetestwithhightrafficto see if oursystem canhandlethis in prolongedperiod. ● Runseveralrelatedload tests togetherto simulaterealfunnel.(Wemightbe surprisedat whatissue canbecaused)
  • 20. Service PerformanceTips ● SeparatetheDBusecases properly.Utilize in-memoryDBlikeRedis,useelastic- searchand no-SQLas alternativeof conventionalACID DBaccordingto usecase. ● Use webservercachingfunctionalityfor static/ notso dynamicpages. ● Investin goodsystemarchitecturethatcanimmediatelyautorestarttheserviceif down. ● Investin goodServerLoad Balancerthatcanbeexpandedif needed. ● If bottleneckis inmicroserviceCPU, justdohorizontalscaling will solvethis.Butnot if this happensin databaseCPU or I/O. Taketimeto reviewandreinvestin robust databasearchitecture. Know whento separateDB,whento dosharding,whento use commercialcloudDBservice. ● In theendwecan’tmakeeverybodyhappy:thereforethesystemhas to apply incomingservice limiters,andrejectimmediately(withfriendlyusermessage)when systemis alreadyfull.
  • 21. Now, It’s Your Turn! tokopedia.com/about