Enviar búsqueda
Cargar
GPerf Using Jesque
•
Descargar como KEY, PDF
•
1 recomendación
•
1,209 vistas
C
ctoestreich
Seguir
An example usage of Jesque & Redis to perform performance loads using grails services.
Leer menos
Leer más
Tecnología
Empresariales
Vista de diapositivas
Denunciar
Compartir
Vista de diapositivas
Denunciar
Compartir
1 de 12
Descargar ahora
Recomendados
Background Jobs with Resque
Background Jobs with Resque
homanj
Background processing with Resque
Background processing with Resque
Nicolas Blanco
Php resque
Php resque
Chaitanya Kuber
Capistrano - automate all the things
Capistrano - automate all the things
John Cleary
Getting Started with Capistrano
Getting Started with Capistrano
LaunchAny
Capistrano
Capistrano
Jason Noble
Introduction to Celery
Introduction to Celery
Chathuranga Bandara
Open Source Saturday - How can I contribute to Ruby on Rails?
Open Source Saturday - How can I contribute to Ruby on Rails?
Pravin Mishra
Recomendados
Background Jobs with Resque
Background Jobs with Resque
homanj
Background processing with Resque
Background processing with Resque
Nicolas Blanco
Php resque
Php resque
Chaitanya Kuber
Capistrano - automate all the things
Capistrano - automate all the things
John Cleary
Getting Started with Capistrano
Getting Started with Capistrano
LaunchAny
Capistrano
Capistrano
Jason Noble
Introduction to Celery
Introduction to Celery
Chathuranga Bandara
Open Source Saturday - How can I contribute to Ruby on Rails?
Open Source Saturday - How can I contribute to Ruby on Rails?
Pravin Mishra
Scaling up task processing with Celery
Scaling up task processing with Celery
Nicolas Grasset
Tdc 2013 - Ecossistema Ruby
Tdc 2013 - Ecossistema Ruby
Fabio Akita
Infrastructure = code - 1 year later
Infrastructure = code - 1 year later
Christian Ortner
Celery
Celery
Fatih Erikli
Trying Continuous Delivery - pyconjp 2012
Trying Continuous Delivery - pyconjp 2012
Toru Furukawa
Celery for internal API in SOA infrastructure
Celery for internal API in SOA infrastructure
Roman Imankulov
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Puppet
Celery: The Distributed Task Queue
Celery: The Distributed Task Queue
Richard Leland
Celery with python
Celery with python
Alexandre González Rodríguez
V2 and beyond
V2 and beyond
jimi-c
Capistrano 2 Rocks My World
Capistrano 2 Rocks My World
Graeme Mathieson
Introduction to Python Celery
Introduction to Python Celery
Mahendra M
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
Abel Muíño
kRouter
kRouter
Kelp Chen
The Puppet Master on the JVM - PuppetConf 2014
The Puppet Master on the JVM - PuppetConf 2014
Puppet
Toolbox of a Ruby Team
Toolbox of a Ruby Team
Arto Artnik
Designing net-aws-glacier
Designing net-aws-glacier
Workhorse Computing
Data processing with celery and rabbit mq
Data processing with celery and rabbit mq
Jeff Peck
Asynchronous Task Queues with Celery
Asynchronous Task Queues with Celery
Kishor Kumar
Async programming on NET
Async programming on NET
yuyijq
Yurisprudensi
Yurisprudensi
siiGuccie
план конспект
план конспект
savlex
Más contenido relacionado
La actualidad más candente
Scaling up task processing with Celery
Scaling up task processing with Celery
Nicolas Grasset
Tdc 2013 - Ecossistema Ruby
Tdc 2013 - Ecossistema Ruby
Fabio Akita
Infrastructure = code - 1 year later
Infrastructure = code - 1 year later
Christian Ortner
Celery
Celery
Fatih Erikli
Trying Continuous Delivery - pyconjp 2012
Trying Continuous Delivery - pyconjp 2012
Toru Furukawa
Celery for internal API in SOA infrastructure
Celery for internal API in SOA infrastructure
Roman Imankulov
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Puppet
Celery: The Distributed Task Queue
Celery: The Distributed Task Queue
Richard Leland
Celery with python
Celery with python
Alexandre González Rodríguez
V2 and beyond
V2 and beyond
jimi-c
Capistrano 2 Rocks My World
Capistrano 2 Rocks My World
Graeme Mathieson
Introduction to Python Celery
Introduction to Python Celery
Mahendra M
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
Abel Muíño
kRouter
kRouter
Kelp Chen
The Puppet Master on the JVM - PuppetConf 2014
The Puppet Master on the JVM - PuppetConf 2014
Puppet
Toolbox of a Ruby Team
Toolbox of a Ruby Team
Arto Artnik
Designing net-aws-glacier
Designing net-aws-glacier
Workhorse Computing
Data processing with celery and rabbit mq
Data processing with celery and rabbit mq
Jeff Peck
Asynchronous Task Queues with Celery
Asynchronous Task Queues with Celery
Kishor Kumar
Async programming on NET
Async programming on NET
yuyijq
La actualidad más candente
(20)
Scaling up task processing with Celery
Scaling up task processing with Celery
Tdc 2013 - Ecossistema Ruby
Tdc 2013 - Ecossistema Ruby
Infrastructure = code - 1 year later
Infrastructure = code - 1 year later
Celery
Celery
Trying Continuous Delivery - pyconjp 2012
Trying Continuous Delivery - pyconjp 2012
Celery for internal API in SOA infrastructure
Celery for internal API in SOA infrastructure
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Celery: The Distributed Task Queue
Celery: The Distributed Task Queue
Celery with python
Celery with python
V2 and beyond
V2 and beyond
Capistrano 2 Rocks My World
Capistrano 2 Rocks My World
Introduction to Python Celery
Introduction to Python Celery
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
Cachopo - Scalable Stateful Services - Madrid Elixir Meetup
kRouter
kRouter
The Puppet Master on the JVM - PuppetConf 2014
The Puppet Master on the JVM - PuppetConf 2014
Toolbox of a Ruby Team
Toolbox of a Ruby Team
Designing net-aws-glacier
Designing net-aws-glacier
Data processing with celery and rabbit mq
Data processing with celery and rabbit mq
Asynchronous Task Queues with Celery
Asynchronous Task Queues with Celery
Async programming on NET
Async programming on NET
Destacado
Yurisprudensi
Yurisprudensi
siiGuccie
план конспект
план конспект
savlex
What would hhappen if payday loans are outlawed
What would hhappen if payday loans are outlawed
CashOne
Fågeldag
Fågeldag
tinzet
Colonial historynotespart2
Colonial historynotespart2
analine_123
Vecka 47
Vecka 47
tinzet
現代と酷似する 世界恐慌の時代と 帰結としての世界大戦 ①世界恐慌とその反省 ClassOnCloud
現代と酷似する 世界恐慌の時代と 帰結としての世界大戦 ①世界恐慌とその反省 ClassOnCloud
Class On Cloud -
Raising (funds) athletes
Raising (funds) athletes
Towa Beer
Reglamento financiero
Reglamento financiero
Mfx broker Forex
Ed Min Week 7
Ed Min Week 7
Rick Cramer
Mymentorsaid public deck_tb
Mymentorsaid public deck_tb
Towa Beer
Snogeholm
Snogeholm
tinzet
私塾・義塾の時代 -内田樹blog;「学校教育の終わり」- Class On Cloud
私塾・義塾の時代 -内田樹blog;「学校教育の終わり」- Class On Cloud
Class On Cloud -
Рекомендации
Рекомендации
savlex
Методработа Крюкова
Методработа Крюкова
savlex
Skogen
Skogen
tinzet
Handboek ICT EventsIT
Handboek ICT EventsIT
EventsIT_Ticketing
<legend> presentation
<legend> presentation
Alexander_2012
Vinkelläxa
Vinkelläxa
tinzet
'12 夏期 経済学セクション グローバル化恐慌の真相 資料
'12 夏期 経済学セクション グローバル化恐慌の真相 資料
Class On Cloud -
Destacado
(20)
Yurisprudensi
Yurisprudensi
план конспект
план конспект
What would hhappen if payday loans are outlawed
What would hhappen if payday loans are outlawed
Fågeldag
Fågeldag
Colonial historynotespart2
Colonial historynotespart2
Vecka 47
Vecka 47
現代と酷似する 世界恐慌の時代と 帰結としての世界大戦 ①世界恐慌とその反省 ClassOnCloud
現代と酷似する 世界恐慌の時代と 帰結としての世界大戦 ①世界恐慌とその反省 ClassOnCloud
Raising (funds) athletes
Raising (funds) athletes
Reglamento financiero
Reglamento financiero
Ed Min Week 7
Ed Min Week 7
Mymentorsaid public deck_tb
Mymentorsaid public deck_tb
Snogeholm
Snogeholm
私塾・義塾の時代 -内田樹blog;「学校教育の終わり」- Class On Cloud
私塾・義塾の時代 -内田樹blog;「学校教育の終わり」- Class On Cloud
Рекомендации
Рекомендации
Методработа Крюкова
Методработа Крюкова
Skogen
Skogen
Handboek ICT EventsIT
Handboek ICT EventsIT
<legend> presentation
<legend> presentation
Vinkelläxa
Vinkelläxa
'12 夏期 経済学セクション グローバル化恐慌の真相 資料
'12 夏期 経済学セクション グローバル化恐慌の真相 資料
Similar a GPerf Using Jesque
An Introduction to Celery
An Introduction to Celery
Idan Gazit
Apache Spark in your likeness - low and high level customization
Apache Spark in your likeness - low and high level customization
Bartosz Konieczny
Design Summit - Rails 4 Migration - Aaron Patterson
Design Summit - Rails 4 Migration - Aaron Patterson
ManageIQ
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
Guy Royse
How and why i roll my own node.js framework
How and why i roll my own node.js framework
Ben Lin
Fast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on Oracle
Raimonds Simanovskis
Matteo Collina | Take your HTTP server to Ludicrous Speed | Codmeotion Madrid...
Matteo Collina | Take your HTTP server to Ludicrous Speed | Codmeotion Madrid...
Codemotion
Developing web-apps like it's 2013
Developing web-apps like it's 2013
Laurent_VB
TDC2018SP | Trilha Go - Processando analise genetica em background com Go
TDC2018SP | Trilha Go - Processando analise genetica em background com Go
tdc-globalcode
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Vincenzo Barone
Test-Driven Development of AngularJS Applications
Test-Driven Development of AngularJS Applications
FITC
JavaScript Growing Up
JavaScript Growing Up
David Padbury
JavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and Lodash
Bret Little
OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneider
mfrancis
Background Jobs - Com BackgrounDRb
Background Jobs - Com BackgrounDRb
Juan Maiz
Angularjs Test Driven Development (TDD)
Angularjs Test Driven Development (TDD)
Anis Bouhachem Djer
RESTful API using scalaz (3)
RESTful API using scalaz (3)
Yeshwanth Kumar
NetBeans Plugin Development: JRebel Experience Report
NetBeans Plugin Development: JRebel Experience Report
Anton Arhipov
Gearmam, from the_worker's_perspective copy
Gearmam, from the_worker's_perspective copy
Brian Aker
Gearmam, from the_worker's_perspective copy
Gearmam, from the_worker's_perspective copy
Brian Aker
Similar a GPerf Using Jesque
(20)
An Introduction to Celery
An Introduction to Celery
Apache Spark in your likeness - low and high level customization
Apache Spark in your likeness - low and high level customization
Design Summit - Rails 4 Migration - Aaron Patterson
Design Summit - Rails 4 Migration - Aaron Patterson
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
How and why i roll my own node.js framework
How and why i roll my own node.js framework
Fast Web Applications Development with Ruby on Rails on Oracle
Fast Web Applications Development with Ruby on Rails on Oracle
Matteo Collina | Take your HTTP server to Ludicrous Speed | Codmeotion Madrid...
Matteo Collina | Take your HTTP server to Ludicrous Speed | Codmeotion Madrid...
Developing web-apps like it's 2013
Developing web-apps like it's 2013
TDC2018SP | Trilha Go - Processando analise genetica em background com Go
TDC2018SP | Trilha Go - Processando analise genetica em background com Go
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Test-Driven Development of AngularJS Applications
Test-Driven Development of AngularJS Applications
JavaScript Growing Up
JavaScript Growing Up
JavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and Lodash
OSGi ecosystems compared on Apache Karaf - Christian Schneider
OSGi ecosystems compared on Apache Karaf - Christian Schneider
Background Jobs - Com BackgrounDRb
Background Jobs - Com BackgrounDRb
Angularjs Test Driven Development (TDD)
Angularjs Test Driven Development (TDD)
RESTful API using scalaz (3)
RESTful API using scalaz (3)
NetBeans Plugin Development: JRebel Experience Report
NetBeans Plugin Development: JRebel Experience Report
Gearmam, from the_worker's_perspective copy
Gearmam, from the_worker's_perspective copy
Gearmam, from the_worker's_perspective copy
Gearmam, from the_worker's_perspective copy
Último
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Khushali Kathiriya
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Angeliki Cooney
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Bhuvaneswari Subramani
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Dropbox
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
johnbeverley2021
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
Sandro Moreira
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
DianaGray10
Architecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
apidays
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
apidays
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Remote DBA Services
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
Product Anonymous
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Zilliz
Último
(20)
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
Elevate Developer Efficiency & build GenAI Application with Amazon Q
Elevate Developer Efficiency & build GenAI Application with Amazon Q
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Architecting Cloud Native Applications
Architecting Cloud Native Applications
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
GPerf Using Jesque
1.
Jesque In Action gperf
framework
2.
Why? Easy Job Configuration Low
Latency Redis is Fast Cache NoSQL Queue
3.
And... Phase 2: Redis
& Jesque
4.
And... Phase 2: Redis
& Jesque
5.
Creating Jobs perf {
runners { largeNumberPerformanceRunner { description = 'Large Number Performance Test' maxWorkers = 20 workerClass = com.perf.runners.math.LargeNumberPerformanceService } } } class LargeNumberPerformanceService extends AbstractPerformanceService { Result performTest() { Long result = 1 def executionTime = benchmark { 100000.times { result += it } } new SimpleResult(testName: 'Long Number Performance Service', executionTime: executionTime) } }
6.
The Jesque Job class
PerformanceRunnerJob { GrailsApplication grailsApplication RedisService redisService ResultsService resultsService def executorService def perform(jobName, workers) { println "jesque queueing up job ${jobName} with ${workers} threads" Class clazz = grailsApplication.config?.perf?.runners[jobName]?.workerClass if(!clazz) { log.error "Can not start a performance worker without a workerClass defined in the config attribute" } PerformanceService service = (PerformanceService) grailsApplication.mainContext.getBean(clazz) Integer.parseInt(workers).times { runAsync { println "running ${jobName} on thread :: ${Thread.currentThread().id}" while(redisService.get(jobName) == PerformanceConstants.RUNNING) { saveResults(jobName, service.performTest()) } } } } private void saveResults(String jobName, Result result) { log.debug result resultsService.saveResults(jobName, result) } }
7.
Performance Distributed
Grails Web Grails Grails Grails Grails Jesque Jesque Jesque Jesque Redis
8.
Performance Distributed
Grails Web Grails Grails Grails Grails Jesque Jesque Jesque Jesque Redis
9.
Sequence Diagram
10.
Dashboards!
11.
Dashboards!
12.
Demo Twitter: @ctoestreich Blog: http://www.christianoestreich.com GPerf:
http://bit.ly/zBHd6b Github: https://www.github.com/ctoestreich
Notas del editor
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Descargar ahora