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
1
1.8k
minne でのハイブリッドクラウド運用
minne でのハイブリッドクラウド運用と CM 対応での構成変更とパフォーマンス改善の話@Rails Developers Meetup 2018: Day 2
shiro16
March 25, 2018
Tweet
Share
More Decks by shiro16
See All by shiro16
minne のアーキテクチャの進化とこれから
shiro16
1
3.3k
minne の開発環境の変革と今後
shiro16
0
1.1k
Rails6 upgrade タイムアタック
shiro16
2
2.6k
telepresence で始める k8s 時代のローカル開発
shiro16
10
5.7k
minne での検索改善の歴史
shiro16
1
2.3k
マイクロサービス事始め@技術編
shiro16
0
1.2k
Other Decks in Technology
See All in Technology
バックエンド留学した話/Backend study abroad story
kaonavi
0
120
開発現場とセキュリティ担当をつなぐ脅威モデリング
cloudace
0
130
MCP Documentation Server @AI Coding Meetup #1
yyoshiki41
1
1.2k
OCI見積もり入門セミナー
oracle4engineer
PRO
0
160
お問い合わせ対応の改善取り組みとその進め方
masartz
1
560
OCI Database with PostgreSQLのご紹介
rkajiyama
0
120
AIエージェントキャッチアップと論文リサーチ
os1ma
6
1.3k
モンテカルロ木探索のパフォーマンスを予測する Kaggleコンペ解説 〜生成AIによる未知のゲーム生成〜
rist
4
1.2k
データベースで見る『家族アルバム みてね』の変遷 / The Evolution of Family Album Through the Lens of Databases
kohbis
4
990
Tokyo dbt Meetup #13 dbtと連携するBI製品&機能ざっくり紹介
sagara
0
240
Restarting_SRE_Road_to_SRENext_.pdf
_awache
1
210
Zabbixチョットデキルとは!?
kujiraitakahiro
0
120
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.5k
How GitHub (no longer) Works
holman
314
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
How to Think Like a Performance Engineer
csswizardry
22
1.5k
Speed Design
sergeychernyshev
28
870
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
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ۚͰԥΓଓ͚Δͷྑ͘ͳ͍ʂ