Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
minne でのハイブリッドクラウド運用
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
shiro16
March 25, 2018
Technology
2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
minne でのハイブリッドクラウド運用
minne でのハイブリッドクラウド運用と CM 対応での構成変更とパフォーマンス改善の話@Rails Developers Meetup 2018: Day 2
shiro16
March 25, 2018
Transcript
59 slides
$.ରԠͰͷߏมߋͱύϑΥʔϚϯεվળ ޙ౻རത(.01FQBCP *OD 3BJMT%FWFMPQFST.FFUVQ%BZ NJOOFͰͷϋΠϒϦουΫϥυӡ༻
νʔϑςΫχΧϧϦʔυ 5PTIJIJSP(PUP!@TIJSP NJOOFࣄۀ෦ˏ(.0ϖύϘ
None
NJOOFͱ wΞϓϦ%-ສ w࡞Ոສਓ wTFSWFS w3BJMT w3VCZ w"84
/ZBI
"84 /ZBI
/ZBI
None
/ZBIͱ wϖύϘͷԾΠϯϑϥج൫ w0QFO4UBDLͰߏ w݄͔Βӡ༻։࢝ wNJOOFͰ݄ࠒ͔Βར༻։࢝
ͳͥ"84 /ZBI
"84 /ZBIͷཧ༝ͱ w"84Λ͏͜ͱʹͳͬͨܦҢΛՃ͢ΔNJOOFͷٕज़ج൫ ઓུ!ITCUΛࢀর wίετ"84/ZBI w৴པੑ ಛʹσʔλετΞ "84/ZBI w3BJMT ଞ
͕ಈ͘TFSWFS/ZBI wσʔλετΞ"84
Oͷ$.
͔Θ͍͍
ۓٸটू͞ΕΔਓʑ
$.ରԠͷۓٸটू wઈରʹམͱͨ͘͠ͳ͍ʂʂ̍ wສ͕ҰམͪͯϦΧόϦ͍ͨ͠ w࣌ͷΞΫηεͷഒΛࡹ͚ΔΑ͏ʹඋ͑Δ wࡢࠓ૿͍͑ͯΔ%%P4ͷඋ͑ w࠷ۙ ׂͱͣͬͱʁ QVTI࣌ʹ3%4ͷ$16༻
None
%%P4ͷඋ͑
$.ରԠલͷߏ ؆ུਤ
None
%%P4ରԠ w%%P4ͳͲͰ/ZBIΛӡ༻͍ͯ͠Δσʔληϯλʔ͕Ұ࣌తʹར༻Ͱ ͖ͳ͍ঢ়ଶʹͳͬͨࡍʹNJOOFར༻Ͱ͖ͳ͍ w࠷ѱσʔληϯλʔ͕ࢮΜͰNJOOFΛར༻Ͱ͖ΔΑ͏ʹ"84ଆ Ͱ&$ΠϯελϯεΛىಈ͓͖ͯ͠ΞΫηεͰ͖ΔΑ͏ʹ͢Δ w$MPVE'SPOUΛར༻ͨ͠%%P4ରԠ
$.ରԠޙͷߏ ؆ུਤ
None
$.ରԠޙͷߏ wϢʔβ͔ΒͷΞΫηε$MPVE'SPOUΛ௨͢͜ͱʹΑΓ"84 4IJFME4UBOEBSEͰ%%P4ޚ w"84ଆʹ3BJMT͕ಈ͍͍ͯΔ&$ΠϯελϯεΛཱͯͨ wSPVUFʹΑͬͯ"84/ZBIΞΫηεΛৼΓ͚Δ w/ZBIͷσʔληϯλʔʹো͕ى͖ͨ߹ɺͯ͢ͷΞΫηεΛ "84ଆʹ͚Δ͜ͱͰճආ w/ZBIଆͰΠϯελϯεΛ૿ͤΔʹݶք͕͋ͬͨͱ͍͏ࣄ
%%P4ରԠ
3%4ͷύϑΥʔϚϯεվળ
3%4ͷ w3%4GPS.Z42-ͷ͓ wΠϯελϯεαΠζSYMBSHF wࠓ·ͰۚͰԥ͖ͬͯͨ w1VTI৴࣌ʹ$16༻͑ wॏͯ͘ܨ͕Βͳ͍͜ͱ
None
1VTI࣌ͷରԠ
1VTI࣌ͷରԠ wJ04ͷ1VTIͷ࣌ͷΈ$16༻͕ΞήΞή wϢʔβͰJ04"OESPJE w4MPX2VFSZΛݟͯ$16༻্͕͕ͬͨ͋ͱؔͳ͍2VFSZ -PHʹग़ͪΌ͏ w྆04Ͱͷ1VTI࣌ͷ"1*ͷΞΫηεͷҧ͍ΛݟͯΈΔ
CJHGPPUΛ͏
CJHGPPUͱ wϖύϘͷϩάج൫ wόοΫΤϯυʹ5SFBTVSF%BUBΛར༻͍ͯ͠Δ wΞΫηεϨίʔυʹͳΔΑ͏ʹQBSBNTͷΛૹ͍ͬͯΔ wৄ͘͠αʔϏεʹدΓఴ͏ϩάج൫Λࢀর
ΫΤϦΛॻ͍ͯௐͨ݁Ռ
SELECT COUNT(1) AS cnt, params_controller, params_action FROM minne_activity WHERE TD_TIME_RANGE(
time, "2017-10-18 20:00:00", "2017-10-18 20:06:00", 'JST' ) GROUP BY params_controller, params_action ORDER BY cnt DESC;
ݪҼ͕໌ wJ04Ͱಛఆͷ"1*ͷΈଞͷ"1*ͷഒͷΞΫηε͕͋ͬͨ w/ ͷΑ͏ͳঢ়ଶͰ"1*ΛDBMM͍ͯͨ͠ wJ04ͷվमߟ͕͑ͨɺΞΫηε͕ݱঢ়ͷेഒʹͳͬͨΒ݁ہಉ ݁͡ՌʹͳΔͷͰ"1*ଆͰରԠ w֘ͷ"1*ͷΫΤϦ࣮ߦܭըྑͳͷͰDBDIFΛ͏
DBDIF͢Δ Rails.cache.fetch(cache_key, expires_in: 1.minutes) do @curation.products.includes(:hogehoge).page(params[:page]).per(20) end wDBDIF@LFZQBSBNTͷ͔Βੜ w࡞ͷใʹࡏݿͳͲؚ·ΕΔͨΊ͋Δఔ৽ͳσʔλ͕ཉ ͍͠ͷͰNJOVUFͰDBDIF͕ΕΔΑ͏ʹઃఆͨ͠
݁Ռ
None
None
͜ΕͰ$.४උόονϦʂʂ̍
ͬͯࢥ͏͡Όͳ͍Ͱ͔͢
ޙ w1VTI৴ޙͰͳ͍ͷʹ3%4ͷ$16༻͕ര্͛ wݪҼϘτϧωοΫΛղফͨ͜͠ͱʹΑΓϢʔβͷߦಈ͕มԽ͠ผͷ ϘτϧωοΫ͕ු͖ூΓʹ ͋Δ͋Δ wॏ͘ͳΔݪҼΛ࡞ͬͨΫΤϦΛಛఆͨ͠Β࣮ߦܭը࠷ѱͱ͍͏ײ͡ wͦͷଞʹଟͷ࣮ߦܭըͷѱ͍ΫΤϦ͕ wۚͰԥ͖ͬͯͨπέ͕
۪ʹվળ͢Δ͔͠ͳ͍Ͷ
ΫΤϦվળ wTMPXMPHͷग़ྗΛߦ͏ ݩʑग़ྗ͍ͯͨ͠ wFYQMBJOΛ࣮ͬͯߦܭըͷ֬ೝ wFYQMBJOͰ͕Α͘Θ͔Βͳ͍߹ϓϩϑΝΠϥʔ͏
&YQMBJO
&YQMBJO wΫΤϦͷ࣮ߦܭըͷ֬ೝ͕Ͱ͖Δ wGPSNBUKTPOΛࢦఆ͢Δͱใ͕૿͑Δ wUZQF"--ͱ͔ग़ͯΔͱਏ͍ w&YUSBʹ6TJOHpMFTPSUUFNQPSBSZͱ͔ग़ͯΔͱਏ͍ w݁ՌΛݩʹ༗ޮͦ͏ͳJOEFYͷՃΛߦ͏ wదʹJOEFY͕ΘΕͳ͍߹64&*/%&9ߏจͰڧ੍͢Δ
ϓϩϑΝΠϥʔ
ϓϩϑΝΠϥʔ wΫΤϦͷͲͷஈ֊ͷॲཧʹͲͷ͘Β͍ͷ͕͔͔͍࣌ؒͬͯΔ͔ʁΛݟ Δ͜ͱ͕Ͱ͖Δɻ w&YQMBJOͰ͕ͳͦ͞͏ͳΫΤϦͷΛݟ͚ͭΕΔՄೳੑ͕͋ Δ w&YQMBJOͰΘ͔Βͳ͍αʔόͷύϥϝʔλͷௐ͕ඞཁ͔ʁ͕Θ ͔Δ͔͠Εͳ͍
͜ΕΒΛۦ͠վળΛॏͶͨ݁Ռ
վળ݁Ռ w$16༻͕Λ͑ͳ͘ͳͬͨ w1VTI৴࣌ʹॏ͘ͳΔ͜ͱͳ͘ͳͬͨ wٸʹߴෛՙʹͳΔ͜ͱͳ͘ͳͬͨ wSYMBSHF͏ҙຯͳ͍ͷͰ
ಉ͡ঢ়گʹͳΒͳ͍ҝʹ w௨Λ༗ޮ׆༻͢Δ ࠓͰ௨͕͕͋ͬͨجຊεϧʔ wࠓճͷ݅Λड͚ͯҰ෦ͷϝϯόʔͷҙ͕ࣝมΘͬͯࢹͯ͘͠ΕΔΑ ͏ʹͳͬͨ wσʔλྔʹΑ࣮ͬͯߦܭըมΘͬͯ͘ΔͷͰϩάΛऩू͍͍ͯ͠ ײ͡ʹ͍͖͍ͯͨ͠ wΘΕͯͳ͍JOEFYཧ͍͖͍ͯͨ͠
͞Βʹඋ͑Δ
͞ΒͳΔରԠ w͓ͦΒ͘͜ΕͰେৎ͕ͩ࠷ѱͷঢ়گΛؑΈͯ४උ͢Δ wNJOOFNBTUFS TMBWF ूܭΫΤϦ༻ wNBTUFSͰͲ͏͠Α͏ͳ͍ͱ͍͏ঢ়گʹͳͬͨࡍʹεέʔϧ Ͱ͖ΔΑ͏ʹ४උ͓ͯ͘͠ wNBTUFS TMBWF
3BJMT༻ TMBWF ूܭΫΤϦ༻ ͘ Β͍͕ཧ
PDUPQVTΛ͏ wTXJUDIQPJOUݕ౼ͨ͠ w४උظ͕ؒिؒఔͱ͍͏ظؒͱ͍͏੍͕͋ΔͷͰಋೖܦݧ͕ ͋ΔPDUPQVTΛબ wͰͲ͏͠Α͏ͳ͘ͳͬͨ࣌Λఆͯ͠TMBWFΛཱ࣮ͯͯࡍʹ ຊ൪ͰͦͪΒʹΫΤϦΛྲྀ͢ͱ͍͏ͱ͜·ͰૉৼΓͨ͠ w$.࣌PDUPQVTΛ͕ͬͨݱࡏTXJUDIQPJOUΛ͍ͬͯΔ
ͦͷଞͷ$.ରԠ w"NB[PO"VSPSBબࢶͱͯ͋ͬͨ͠ͷͰݕূΛߦ͍࣮ࡍʹࢀর ΫΤϦΛྲྀ͢ͱ͍͏͜ͱͬͯΈͨɻ w͔͠͠ظ͍ͯͨ͠ύϑΥʔϚϯεվળ͕ݟΒΕͳ͔ͬͨ w"-#Ͱ"84/ZBIؒͷΞΫηεΛॠ࣌ʹৼΓ͚ΒΕΔ͔ͷݕূ w1&3$0/"UPPMLJUͷQULJMMͷಋೖͷݕ౼
ͦΜͳ͜ΜͳͰ͍͟$.։࢝
݁Ռ͔Β͍͏ͱ
શ͘མͪͳ͔ͬͨ
$.։͔࢝Βऴྃ·Ͱͷঢ়گ wશ͘མͪͳ͔ͬͨ w3%4ͷ$16༻ۭඈߦ wTMBWFʹΫΤϦΛྲྀ͢४උग़དྷ͍͕࣮ͯͨࡍʹTMBWFTFSWFSΛཱ ͯͯΫΤϦΛྲྀ͢ͱ͍͏͜ͱͳ͔ͬͨ w%%P4ͳ͘ฏʹաͤͨ͝
·ͱΊ
·ͱΊ w"84 /ZBIͷϋΠϒϦουΫϥυͷཧ༝ίετͱ৴པੑͱݎ ࿚ͳγεςϜΛ࡞Δҝ wϚΠΫϩαʔϏεԽΛਐΊ͍ͯΔͷͰ3%4͕ඞཁͱ͍͏໘ݮΔ ͔͠Εͳ͍ wߴෛՙͷݪҼΛΔҝʹߦಈϩάͷ׆༻Λߦ͏ͷҰͭͷखஈ wΫΤϦͷνϡʔχϯάେࣄO wۚͰԥΓଓ͚Δͷྑ͘ͳ͍ʂ
More Decks by shiro16
See All by shiro16
minne のアーキテクチャの進化とこれから
shiro16
1
3.6k
minne の開発環境の変革と今後
shiro16
0
1.2k
Rails6 upgrade タイムアタック
shiro16
2
3k
telepresence で始める k8s 時代のローカル開発
shiro16
10
6k
minne での検索改善の歴史
shiro16
1
2.6k
マイクロサービス事始め@技術編
shiro16
0
1.3k
Other Decks in Technology
See All in Technology
これからのデータエンジニアの役割について考える / Rethinking the Role of Data Engineers in the AI Era
okiyuki99
0
490
アラートを見直していたら営業組織への理解にちょっとだけ繋がった話
z63d
1
200
「任されビリティ」で引き受けて「よしなりてぃ」に頼らず任せる / Accept tasks with "makasarebility" and hand them over without relying on "yoshinarily"
pauli
0
550
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
300
少ない人手 限られた予算 それでも守る 消せない・見つける・戻れる オールハザード型BCP on AWS / 20261107 Mitsutoshi Matsuo
shift_evolve
PRO
0
380
Gemma4 Hands-on at Nagoya
tsho
0
100
LLM 基盤と kagent v0 を全部 k8s に入れてみた / Deploy both LLM and kagent v0 in k8s
kota2and3kan
0
220
Datadog の権限統制 〜Org 統合に向けて調べた注意点 / JDDUG-Meetup_24
visional_engineering_and_design
1
130
常時稼働エージェントの作り方(Claude公式ブログを資料化)
minorun365
PRO
2
2k
田んぼから始まる挑戦 〜新米農家の1年目〜
miu_crescent
PRO
0
360
DevOps Agentにあらゆるセキュリティインシデントのトリアージを任せた件
jirtosterone
1
140
内製アプリとClaudeスキルのセキュリティチェック、 Backlogの課題で回しています。
ayaka_egaaa
0
190
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.3k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Amusing Abliteration
ianozsvald
1
390
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
530
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
570
How to Talk to Developers About Accessibility
jct
2
620
エンジニアに許された特別な時間の終わり
watany
109
250k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.4k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
380
Product Roadmaps are Hard
iamctodd
55
13k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k