SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Erlang vs Ruby
Preemptive Scheduling
Ruby
Virtual Machine: YARV
Application Server: Phusion Passenger
Web Server: Nginx
Server: Digital Ocean 2 cores and 2 GB RAM
Erlang
Virtual Machine: BEAM
Web Server: Cowboy
Server: Digital Ocean 2 cores and 2 GB RAM
Basic Architecture
Server
Apache
Benchmark
HTTP AUTH
Hello, Alladin!
5’ Processing
SOA Architecture
Ruby
Server
Apache
Benchmark
HTTP AUTH
Hello, Alladin!
Ruby
Service
Req
Resp
50 concurrent requests
Erlang Ruby
ab -n 50 -c 50 -A “username:password” <server>
Discussion
Erlang response time approx. constant
Ruby response time increasing (~900 ms / req)
Scheduling: Erlang (BEAM)
Preemptive Scheduling
Runs 2000 reductions and then processes the next task
“In computing, preemption is the act of temporarily interrupting a task being carried out by a computer system,
without requiring its cooperation, and with the intention of resuming the task at a later time. Such a change is known as
a context switch. It is normally carried out by a privileged task or part of the system known as a preemptive scheduler,
which has the power to preempt, or interrupt, and later resume, other tasks in the system.” https://en.wikipedia.
org/wiki/Preemption_(computing)
Light weight processes
Runs each process as a thread, allowing for a plethora of processes.
Scheduling: Ruby (YARV)
One Thread per Process
passenger_thread_count “The default value is 1.”
This value can be increased in the Enterprise version
Most Ruby servers are running one thread per process
Conclusions
Ruby requires horizontal scaling
Ruby requires tuning
Erlang can handle scaling
Erlang handles these problems by default
Payment providers with a fixed amount of cores should use Erlang
Thank you
Markus Feyh
markus.feyh@gmail.com

Más contenido relacionado

La actualidad más candente

Self Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWSSelf Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWS
sharu1204
 
Windows Azure Service Bus
Windows Azure Service BusWindows Azure Service Bus
Windows Azure Service Bus
Pavel Revenkov
 

La actualidad más candente (20)

Go performance tooling
Go performance toolingGo performance tooling
Go performance tooling
 
3.2 Streaming and Messaging
3.2 Streaming and Messaging3.2 Streaming and Messaging
3.2 Streaming and Messaging
 
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
promgen - prometheus managemnet tool / simpleclient_java hacks @ Prometheus c...
 
Top4top Showcase
Top4top ShowcaseTop4top Showcase
Top4top Showcase
 
Memcache d
Memcache dMemcache d
Memcache d
 
Solving some of the scalability problems at booking.com
Solving some of the scalability problems at booking.comSolving some of the scalability problems at booking.com
Solving some of the scalability problems at booking.com
 
Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!
 
Benchmarking distributed tracers
Benchmarking distributed tracersBenchmarking distributed tracers
Benchmarking distributed tracers
 
Benchmarking for HTTP/2
Benchmarking for HTTP/2Benchmarking for HTTP/2
Benchmarking for HTTP/2
 
Introduction to performance tuning perl web applications
Introduction to performance tuning perl web applicationsIntroduction to performance tuning perl web applications
Introduction to performance tuning perl web applications
 
Application Caching: The Hidden Microservice (SAConf)
Application Caching: The Hidden Microservice (SAConf)Application Caching: The Hidden Microservice (SAConf)
Application Caching: The Hidden Microservice (SAConf)
 
Self Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWSSelf Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWS
 
Kubernetes at Datadog the very hard way
Kubernetes at Datadog the very hard wayKubernetes at Datadog the very hard way
Kubernetes at Datadog the very hard way
 
Micro services infrastructure with AWS and Ansible
Micro services infrastructure with AWS and AnsibleMicro services infrastructure with AWS and Ansible
Micro services infrastructure with AWS and Ansible
 
Windows Azure Service Bus
Windows Azure Service BusWindows Azure Service Bus
Windows Azure Service Bus
 
Load Balancing with Nginx
Load Balancing with NginxLoad Balancing with Nginx
Load Balancing with Nginx
 
Apache
ApacheApache
Apache
 
A Heart Rate Validating Admission Webhook
A Heart Rate Validating Admission WebhookA Heart Rate Validating Admission Webhook
A Heart Rate Validating Admission Webhook
 
EVCache & Moneta (GoSF)
EVCache & Moneta (GoSF)EVCache & Moneta (GoSF)
EVCache & Moneta (GoSF)
 
Integrating Puppet with Cloud Infrastructures-Remco Overdijk
Integrating Puppet with Cloud Infrastructures-Remco OverdijkIntegrating Puppet with Cloud Infrastructures-Remco Overdijk
Integrating Puppet with Cloud Infrastructures-Remco Overdijk
 

Destacado

ΠΑΙΔΙΚΟΣ ΣΤΑΘΜΟΣ ΤΡΑΠΕΖΑΣ ΕΛΛΑΔΑΣ-ΝΗΠΙΑΚΟ ΤΜΗΜΑ
ΠΑΙΔΙΚΟΣ ΣΤΑΘΜΟΣ ΤΡΑΠΕΖΑΣ ΕΛΛΑΔΑΣ-ΝΗΠΙΑΚΟ ΤΜΗΜΑΠΑΙΔΙΚΟΣ ΣΤΑΘΜΟΣ ΤΡΑΠΕΖΑΣ ΕΛΛΑΔΑΣ-ΝΗΠΙΑΚΟ ΤΜΗΜΑ
ΠΑΙΔΙΚΟΣ ΣΤΑΘΜΟΣ ΤΡΑΠΕΖΑΣ ΕΛΛΑΔΑΣ-ΝΗΠΙΑΚΟ ΤΜΗΜΑ
Georgia Stefanou
 
허니문펜션\【 FUN88。CO。KR】\바르셀로나호텔
허니문펜션\【 FUN88。CO。KR】\바르셀로나호텔허니문펜션\【 FUN88。CO。KR】\바르셀로나호텔
허니문펜션\【 FUN88。CO。KR】\바르셀로나호텔
gsdoifus
 
Addresschic-slideshare
Addresschic-slideshareAddresschic-slideshare
Addresschic-slideshare
Address chic
 

Destacado (9)

ΠΑΙΔΙΚΟΣ ΣΤΑΘΜΟΣ ΤΡΑΠΕΖΑΣ ΕΛΛΑΔΑΣ-ΝΗΠΙΑΚΟ ΤΜΗΜΑ
ΠΑΙΔΙΚΟΣ ΣΤΑΘΜΟΣ ΤΡΑΠΕΖΑΣ ΕΛΛΑΔΑΣ-ΝΗΠΙΑΚΟ ΤΜΗΜΑΠΑΙΔΙΚΟΣ ΣΤΑΘΜΟΣ ΤΡΑΠΕΖΑΣ ΕΛΛΑΔΑΣ-ΝΗΠΙΑΚΟ ΤΜΗΜΑ
ΠΑΙΔΙΚΟΣ ΣΤΑΘΜΟΣ ΤΡΑΠΕΖΑΣ ΕΛΛΑΔΑΣ-ΝΗΠΙΑΚΟ ΤΜΗΜΑ
 
Enabling Reasoning with LegalRuleML
Enabling Reasoning with LegalRuleMLEnabling Reasoning with LegalRuleML
Enabling Reasoning with LegalRuleML
 
허니문펜션\【 FUN88。CO。KR】\바르셀로나호텔
허니문펜션\【 FUN88。CO。KR】\바르셀로나호텔허니문펜션\【 FUN88。CO。KR】\바르셀로나호텔
허니문펜션\【 FUN88。CO。KR】\바르셀로나호텔
 
LR World Ιούλιος 2016 GR-CY
LR World Ιούλιος 2016 GR-CYLR World Ιούλιος 2016 GR-CY
LR World Ιούλιος 2016 GR-CY
 
Make a Sign Speak Any Language, by Kenji Takaoka, QR Translator
 Make a Sign Speak Any Language, by Kenji Takaoka, QR Translator Make a Sign Speak Any Language, by Kenji Takaoka, QR Translator
Make a Sign Speak Any Language, by Kenji Takaoka, QR Translator
 
Examining Factors of Customer Experience: An Empirical Study of Flipkart.com
Examining Factors of Customer Experience: An Empirical Study of Flipkart.comExamining Factors of Customer Experience: An Empirical Study of Flipkart.com
Examining Factors of Customer Experience: An Empirical Study of Flipkart.com
 
RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?RuleML 2015 Constraint Handling Rules - What Else?
RuleML 2015 Constraint Handling Rules - What Else?
 
Boletim informativo - janeiro
Boletim informativo - janeiroBoletim informativo - janeiro
Boletim informativo - janeiro
 
Addresschic-slideshare
Addresschic-slideshareAddresschic-slideshare
Addresschic-slideshare
 

Similar a Erlang vs Ruby SOA Scheduling

2010-04-13 Reactor Pattern & Event Driven Programming 2
2010-04-13 Reactor Pattern & Event Driven Programming 22010-04-13 Reactor Pattern & Event Driven Programming 2
2010-04-13 Reactor Pattern & Event Driven Programming 2
Lin Jen-Shin
 
Perfomance tuning on Go 2.0
Perfomance tuning on Go 2.0Perfomance tuning on Go 2.0
Perfomance tuning on Go 2.0
Yogi Kulkarni
 
PyCon US 2012 - Web Server Bottlenecks and Performance Tuning
PyCon US 2012 - Web Server Bottlenecks and Performance TuningPyCon US 2012 - Web Server Bottlenecks and Performance Tuning
PyCon US 2012 - Web Server Bottlenecks and Performance Tuning
Graham Dumpleton
 

Similar a Erlang vs Ruby SOA Scheduling (20)

Alternative Infrastucture
Alternative InfrastuctureAlternative Infrastucture
Alternative Infrastucture
 
Evented Ruby VS Node.js
Evented Ruby VS Node.jsEvented Ruby VS Node.js
Evented Ruby VS Node.js
 
HBaseCon2017 gohbase: Pure Go HBase Client
HBaseCon2017 gohbase: Pure Go HBase ClientHBaseCon2017 gohbase: Pure Go HBase Client
HBaseCon2017 gohbase: Pure Go HBase Client
 
slides (PPT)
slides (PPT)slides (PPT)
slides (PPT)
 
Pg conf 2017 HIPAA Compliant and HA DB architecture on AWS
Pg conf 2017  HIPAA Compliant and HA DB architecture on AWSPg conf 2017  HIPAA Compliant and HA DB architecture on AWS
Pg conf 2017 HIPAA Compliant and HA DB architecture on AWS
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStack
 
2010-04-13 Reactor Pattern & Event Driven Programming 2
2010-04-13 Reactor Pattern & Event Driven Programming 22010-04-13 Reactor Pattern & Event Driven Programming 2
2010-04-13 Reactor Pattern & Event Driven Programming 2
 
Startups to Scale
Startups to ScaleStartups to Scale
Startups to Scale
 
WebCamp 2016: PHP.Алексей Петров.PHP at Scale: System Architect Toolbox
WebCamp 2016: PHP.Алексей Петров.PHP at Scale: System Architect ToolboxWebCamp 2016: PHP.Алексей Петров.PHP at Scale: System Architect Toolbox
WebCamp 2016: PHP.Алексей Петров.PHP at Scale: System Architect Toolbox
 
Integrating R and the JVM Platform - Alpine Data Labs' R Execute Operator
Integrating R and the JVM Platform - Alpine Data Labs' R Execute OperatorIntegrating R and the JVM Platform - Alpine Data Labs' R Execute Operator
Integrating R and the JVM Platform - Alpine Data Labs' R Execute Operator
 
Woo: Writing a fast web server @ ELS2015
Woo: Writing a fast web server @ ELS2015Woo: Writing a fast web server @ ELS2015
Woo: Writing a fast web server @ ELS2015
 
Apache samza past, present and future
Apache samza  past, present and futureApache samza  past, present and future
Apache samza past, present and future
 
Php assíncrono com_react_php
Php assíncrono com_react_phpPhp assíncrono com_react_php
Php assíncrono com_react_php
 
Deployment de Rails
Deployment de RailsDeployment de Rails
Deployment de Rails
 
Where is my scalable api?
Where is my scalable api?Where is my scalable api?
Where is my scalable api?
 
Perfomance tuning on Go 2.0
Perfomance tuning on Go 2.0Perfomance tuning on Go 2.0
Perfomance tuning on Go 2.0
 
PyCon US 2012 - Web Server Bottlenecks and Performance Tuning
PyCon US 2012 - Web Server Bottlenecks and Performance TuningPyCon US 2012 - Web Server Bottlenecks and Performance Tuning
PyCon US 2012 - Web Server Bottlenecks and Performance Tuning
 
DevoxxUK: Optimizating Application Performance on Kubernetes
DevoxxUK: Optimizating Application Performance on KubernetesDevoxxUK: Optimizating Application Performance on Kubernetes
DevoxxUK: Optimizating Application Performance on Kubernetes
 
Lets build-ruby-app-server: Vineet tyagi
Lets build-ruby-app-server: Vineet tyagiLets build-ruby-app-server: Vineet tyagi
Lets build-ruby-app-server: Vineet tyagi
 
Functional? Reactive? Why?
Functional? Reactive? Why?Functional? Reactive? Why?
Functional? Reactive? Why?
 

Último

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Último (20)

%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 

Erlang vs Ruby SOA Scheduling