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.2k
minne の開発環境の変革と今後
shiro16
0
1.1k
Rails6 upgrade タイムアタック
shiro16
2
2.5k
telepresence で始める k8s 時代のローカル開発
shiro16
10
5.7k
minne での検索改善の歴史
shiro16
1
2.3k
マイクロサービス事始め@技術編
shiro16
0
1.1k
Other Decks in Technology
See All in Technology
Reactフレームワークプロダクトを モバイルアプリにして、もっと便利に。 ユーザに価値を届けよう。/React Framework with Capacitor
rdlabo
0
110
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
1
120
When Windows Meets Kubernetes…
pichuang
0
300
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
180
ABWGのRe:Cap!
hm5ug
1
120
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
1
16k
Evolving Architecture
rainerhahnekamp
3
250
チームが毎日小さな変化と適応を続けたら1年間でスケール可能なアジャイルチームができた話 / Building a Scalable Agile Team
kakehashi
2
220
SpiderPlus & Co. エンジニア向け会社紹介資料
spiderplus_cb
0
850
実践! ソフトウェアエンジニアリングの価値の計測 ── Effort、Output、Outcome、Impact
nomuson
0
2k
EMConf JP の楽しみ方 / How to enjoy EMConf JP
pauli
2
140
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
Featured
See All Featured
Making Projects Easy
brettharned
116
6k
It's Worth the Effort
3n
183
28k
RailsConf 2023
tenderlove
29
970
Become a Pro
speakerdeck
PRO
26
5.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3.1k
Building an army of robots
kneath
302
45k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
A better future with KSS
kneath
238
17k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
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ۚͰԥΓଓ͚Δͷྑ͘ͳ͍ʂ