Enviar pesquisa
Carregar
background jobで 気をつけないといかんところ
•
1 gostou
•
1,626 visualizações
Akira Miki
Seguir
@threetreeslight Repro Inc. shinjukurb #37 May 25, 2016
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 31
Baixar agora
Baixar para ler offline
Recomendados
今さらアジャイル巡業In福岡LT「社内勉強会の運営をアジャイルにやってみた」
今さらアジャイル巡業In福岡LT「社内勉強会の運営をアジャイルにやってみた」
kei eguchi
Dockerizeして 大変だった話、幸せになった話
Dockerizeして 大変だった話、幸せになった話
Akira Miki
CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
Takafumi Ikeda
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
kyon mm
cloud on the beach 前夜祭LT
cloud on the beach 前夜祭LT
kt-eng06
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
Dai FUJIHARA
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
Rakuten Group, Inc.
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
KLab Inc. / Tech
Recomendados
今さらアジャイル巡業In福岡LT「社内勉強会の運営をアジャイルにやってみた」
今さらアジャイル巡業In福岡LT「社内勉強会の運営をアジャイルにやってみた」
kei eguchi
Dockerizeして 大変だった話、幸せになった話
Dockerizeして 大変だった話、幸せになった話
Akira Miki
CEDEC2015講演 チーム開発をスムーズにするために
CEDEC2015講演 チーム開発をスムーズにするために
Takafumi Ikeda
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
kyon mm
cloud on the beach 前夜祭LT
cloud on the beach 前夜祭LT
kt-eng06
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
Dai FUJIHARA
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
Rakuten Group, Inc.
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
インフラエンジニアのお仕事 ~ daemontools から systemdに乗り換えた話 ~
KLab Inc. / Tech
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Koichi ITO
勉強会:設定管理について
勉強会:設定管理について
Wataru Sato
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
Preferred Networks
QA teamを組成した話
QA teamを組成した話
Akira Miki
第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
AgileJapan2012島根サテライト ワークショップ
AgileJapan2012島根サテライト ワークショップ
Takenori Takaki
サービス改善はログデータ分析から
サービス改善はログデータ分析から
Kenta Suzuki
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門
Kiro Harada
アジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティス
Yasui Tsutomu
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方
Yoshitaka Seo
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
20160215 04 java ee7徹底入門 jbatch
20160215 04 java ee7徹底入門 jbatch
Jun Inose
なぜSharepointの導入を見送ったのか
なぜSharepointの導入を見送ったのか
Shu Yamada
Chainerと実験管理と私
Chainerと実験管理と私
Toshinori Hanya
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
Hasegawa Yusuke
2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか
2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか
Operation Lab, LLC.
サイボウズQAの働き方
サイボウズQAの働き方
Cy1DayCy1Day
運用管理を楽にしたいという話
運用管理を楽にしたいという話
Hisashi HATAKEYAMA
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
Katsuhiro Miura
パフォーマンステストいつやる??
パフォーマンステストいつやる??
Shuichi Takaku
performance hack 101
performance hack 101
Akira Miki
The bottleneck is you
The bottleneck is you
Akira Miki
Mais conteúdo relacionado
Semelhante a background jobで 気をつけないといかんところ
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Koichi ITO
勉強会:設定管理について
勉強会:設定管理について
Wataru Sato
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
Preferred Networks
QA teamを組成した話
QA teamを組成した話
Akira Miki
第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
AgileJapan2012島根サテライト ワークショップ
AgileJapan2012島根サテライト ワークショップ
Takenori Takaki
サービス改善はログデータ分析から
サービス改善はログデータ分析から
Kenta Suzuki
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門
Kiro Harada
アジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティス
Yasui Tsutomu
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方
Yoshitaka Seo
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
Retrieva inc.
20160215 04 java ee7徹底入門 jbatch
20160215 04 java ee7徹底入門 jbatch
Jun Inose
なぜSharepointの導入を見送ったのか
なぜSharepointの導入を見送ったのか
Shu Yamada
Chainerと実験管理と私
Chainerと実験管理と私
Toshinori Hanya
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
Hasegawa Yusuke
2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか
2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか
Operation Lab, LLC.
サイボウズQAの働き方
サイボウズQAの働き方
Cy1DayCy1Day
運用管理を楽にしたいという話
運用管理を楽にしたいという話
Hisashi HATAKEYAMA
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
Katsuhiro Miura
パフォーマンステストいつやる??
パフォーマンステストいつやる??
Shuichi Takaku
Semelhante a background jobで 気をつけないといかんところ
(20)
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
勉強会:設定管理について
勉強会:設定管理について
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
明治大学講演資料「機械学習と自動ハイパーパラメタ最適化」 佐野正太郎
QA teamを組成した話
QA teamを組成した話
第2回 モデリング勉強会
第2回 モデリング勉強会
AgileJapan2012島根サテライト ワークショップ
AgileJapan2012島根サテライト ワークショップ
サービス改善はログデータ分析から
サービス改善はログデータ分析から
非開発者のためのアジャイル開発入門
非開発者のためのアジャイル開発入門
アジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティス
Azure Machine Leaning Workbench の使い方
Azure Machine Leaning Workbench の使い方
Chainerで学ぶdeep learning
Chainerで学ぶdeep learning
20160215 04 java ee7徹底入門 jbatch
20160215 04 java ee7徹底入門 jbatch
なぜSharepointの導入を見送ったのか
なぜSharepointの導入を見送ったのか
Chainerと実験管理と私
Chainerと実験管理と私
Google Cloud Platformでソーシャルゲームを1本出してみた!
Google Cloud Platformでソーシャルゲームを1本出してみた!
2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか
2015-03-27 ザ・運用 ~ 運用とは何か、運用とはどのようであるべきか
サイボウズQAの働き方
サイボウズQAの働き方
運用管理を楽にしたいという話
運用管理を楽にしたいという話
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
PHPアプリの品質を(ある程度)保つために出来る事 〜組織編〜
パフォーマンステストいつやる??
パフォーマンステストいつやる??
Mais de Akira Miki
performance hack 101
performance hack 101
Akira Miki
The bottleneck is you
The bottleneck is you
Akira Miki
今だから言えるやらないほうが良かったこと
今だから言えるやらないほうが良かったこと
Akira Miki
AWS Auroraよもやま話
AWS Auroraよもやま話
Akira Miki
1秒でも早くAutoScale
1秒でも早くAutoScale
Akira Miki
決済って悩むことが多い
決済って悩むことが多い
Akira Miki
rails + serverengineで お手軽daemon
rails + serverengineで お手軽daemon
Akira Miki
what is_the_best_way_of_method_swizzling
what is_the_best_way_of_method_swizzling
Akira Miki
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
Akira Miki
Mais de Akira Miki
(9)
performance hack 101
performance hack 101
The bottleneck is you
The bottleneck is you
今だから言えるやらないほうが良かったこと
今だから言えるやらないほうが良かったこと
AWS Auroraよもやま話
AWS Auroraよもやま話
1秒でも早くAutoScale
1秒でも早くAutoScale
決済って悩むことが多い
決済って悩むことが多い
rails + serverengineで お手軽daemon
rails + serverengineで お手軽daemon
what is_the_best_way_of_method_swizzling
what is_the_best_way_of_method_swizzling
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
background jobで 気をつけないといかんところ
1.
background jobで 気をつけないといかんところ @threetreeslight Repro Inc. shinjukurb
#37 May 25, 2016
2.
※注意※ こういうときどうしました? 話です。sidekiq寄りです。
3.
@treetreeslight Repro
4.
What’s Repro?
5.
マーケティングツール
6.
カジュアルな改善アクション
7.
献立 • 優先順位の制御 • 並列実行数・リソースの制御 •
実行順序の制御 • 信頼性の担保
8.
優先順位の制御
9.
background jobにまわしてユーザー体 験改善しまくりヒャッハー!
10.
重要じゃないjobが積まれてす ぎて消化しきれない、、、
11.
さらに • SidekiqなんでQueueで分けるが、、、 • でも共通処理として定義されたjob、呼び出 し元によって優先順位かわるんだけどどうす る?
12.
そんなQueueのPrioritize どうします?
13.
例えば • 突っ込むQueueを動的に変える • sidekiq起動条件変えてプロセスレベルで割 る •
こういうのを使う • https://github.com/socialpandas/ sidekiq-priority
14.
並列実行数・リソースの制御
15.
jobで並列化しまくれば無限に スケール!!
16.
connection数, deadlock, OOM…
17.
そんなときどうやって 並列実行数を制御します?
18.
例えば • サービス全体で並列実行数を制御するのであれば • redisでsemaphoreを管理したり •
こういうやつも(時間があったら読む) • https://github.com/dv/redis-semaphore • https://github.com/brainopia/sidekiq- limit_fetch • プロセス毎の同時実行数は管理したいのであれば • プロセス内にsemaphore作ってQueueのpopをblock して積み直しになるのかな?
19.
実行順序の制御
20.
処理を高速化するためにjobを分割 して並列実行するべさ!
21.
job間の依存関係どうしよう
22.
そんなときどうやって 実行順序を制御します?
23.
例えば • 複数のjob完了を待って発火するもの • 特定のjob郡が完了していることを待つwaiting
jobづく り • 逐次にjobが発火するstyle • continuation passing styleで次のjob渡す 依存関係の定義が自明で集約されており、全体感がつかみやすい ものが良い。
24.
例えば • background jobにworkflowでかいけつする •
https://github.com/chaps-io/gush • https://github.com/thebadmonkeydev/ sidekiq-workflow • そもそも別の仕組み使う • rundeck • http://rundeck.org/ • rukawa • https://github.com/joker1007/rukawa
25.
信頼性の担保
26.
background job だいぶこなれてきた!!
27.
process downや 中断に強くしなければ
28.
そんなときどうやって job実行の信頼性 を担保しますか?
29.
例えば • sidekiq使ってたらsidekiq proにしちゃう •
やっているのは別のqueueにコピーしてるだけ(多分) • Proのお話はsumyappさんのslide参照が良さそう • http://www.slideshare.net/SumiKoichiro/ sidekiq-pro1-rb-29th-shinjukurb • 処理の冪等性担保する • けどPush Notificationとかできないので、jobの中で 途中実行できるようにする • 依存関係のあるJobはどう途中再開させるか? • daemon作って監視させるしか無いか?
30.
そんなつらみを乗り越えたい そんなアタナに
31.
WE ARE HIRING
NOW!!! https://www.wantedly.com/companies/repro/projects
Baixar agora