Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
minne でのハイブリッドクラウド運用
Search
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
More Decks by shiro16
See All by shiro16
minne のアーキテクチャの進化とこれから
shiro16
1
3.6k
minne の開発環境の変革と今後
shiro16
0
1.2k
Rails6 upgrade タイムアタック
shiro16
2
2.9k
telepresence で始める k8s 時代のローカル開発
shiro16
10
5.9k
minne での検索改善の歴史
shiro16
1
2.5k
マイクロサービス事始め@技術編
shiro16
0
1.3k
Other Decks in Technology
See All in Technology
なぜ人は自分のプロジェクトを 「なんちゃってアジャイル」と 自嘲するのか
kozotaira
0
260
はじめてのWDM
miyukichi_ospf
1
120
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
0
930
最近評価が難しくなった
maroon8021
0
250
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
690
4人目のSREはAgent
tanimuyk
0
400
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
1.5k
Baseline対応のDOMの型定義を作った
uhyo
3
710
AI駆動開発におけるQAエンジニアの役割事例 〜AI駆動開発の現場から〜
kobayashiyorimitsu
0
350
Claude Codeとハーネスについて考えてみる
oikon48
18
8.7k
Empower GenAI with Agile - あなたのアジャイルが生成AIのバフになる仕組み
hageyahhoo
0
130
生成AIの活用/high_school2026
okana2ki
0
110
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.5k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
170
Context Engineering - Making Every Token Count
addyosmani
9
1k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Designing for Performance
lara
611
70k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Navigating Team Friction
lara
192
16k
Designing Experiences People Love
moore
143
24k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Transcript
$.ରԠͰͷߏมߋͱύϑΥʔϚϯεվળ ޙ౻རത(.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ۚͰԥΓଓ͚Δͷྑ͘ͳ͍ʂ