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
クラシルのwebサイトをちょっとした改善で100倍速にした話
Search
Takuya Okuhara
June 24, 2017
Programming
5
3.3k
クラシルのwebサイトをちょっとした改善で100倍速にした話
2017-06-22 Rails Developers Meetup #2
Takuya Okuhara
June 24, 2017
Tweet
Share
More Decks by Takuya Okuhara
See All by Takuya Okuhara
プロダクトマネージャーの時代はもう始まっている
okutaku0507
5
19k
実践!リーンなプロダクト開発
okutaku0507
26
61k
クラシルの地味な裏側
okutaku0507
0
2.6k
思いつきでgemを作ると後悔する話
okutaku0507
0
260
急激に成長するクラシルと組織を Ruby on Railsでどう支えるか
okutaku0507
2
850
Railsを使って最短1日でAMPに対応する
okutaku0507
0
1.4k
Railsでキャッシュをいい感じに分散して期限切れを軽減する
okutaku0507
0
1.2k
Other Decks in Programming
See All in Programming
CIBMTR振り返り+敗北から学ぶコンペの取り組み方反省
takanao
1
450
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
4
870
JAWS Days 2025のインフラ
komakichi
1
430
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
200
CloudRun, Spanner に対する負荷試験の反省と オブザーバビリティによるアプローチ
oyasumipants
1
250
Return of the Full-Stack Developer
simas
PRO
1
280
DenoでOpenTelemetryに入門する
yotahada3
1
250
Effective Signals in Angular 19+ Rules and Helpers
manfredsteyer
PRO
0
140
Compose Navigation実装の見通しを良くする
hiroaki404
0
120
オレを救った Cline を紹介する
codehex
16
16k
Scala 3 で GLSL のための c-like-for を実装してみた
exoego
1
150
Expoによるアプリ開発の現在地とReact Server Componentsが切り開く未来
yukukotani
2
370
Featured
See All Featured
Building Adaptive Systems
keathley
40
2.4k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Writing Fast Ruby
sferik
628
61k
RailsConf 2023
tenderlove
29
1k
Scaling GitHub
holman
459
140k
Speed Design
sergeychernyshev
28
840
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building Applications with DynamoDB
mza
93
6.3k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
ΫϥγϧͷXFCαΠτΛͪΐͬͱͨ͠ վળͰഒʹͨ͠ Ԟݪ
⿏ΞδΣϯμ ɾࣗݾհ ɾEFMZͱʁΫϥγϧͱʁ ɾΫϥγϧʹ͓͚Δදࣔվળ ɾ࠷ޙʹ
⿏ࣗݾհ Α͘͏ΞΠίϯ ɾPLVUBLV ɾ3BJMTྺఔ େֶੜ͔Β ɾେֶӃͰੜԽֶઐ߈ தୀ ɾEFMZࡢʹδϣΠϯ
ɾ͖ͳྉཧ͏ͲΜ ɾٳΞΠεΧϑΣϥς୳͠ ɾೣ
⿏ϓϩάϥϛϯάΛ࢝Ί͖͔͚ͨͬ ͜͜ͰΞϧόΠτͯ͠·ͨ͠ʂ
⿏ϓϩάϥϛϯάΛ࢝Ί͖͔͚ͨͬ
⿏ֶੜ࣌ ɾϑοταϧͷίϛϡχςΟɾϚονϯάαʔϏε ɾϩʔϯν͔Βप ɾొϢʔβʔ ໊ಥഁ Πϯλʔωοτָ͍͠
⿏EFMZͱ ɾϏδϣϯʮ#&5)&46/ʯ ɾࣾһ໊ ɾϨγϐಈըαʔϏεLVSBTIJSV ɾ͝൧৯์
⿏LVSBTIJSVͱ ɾ4/4ϑΝϯສਓ ɾ݄ؒ࠶ੜԯճ ɾJ04ΞϓϦϨϏϡʔ ɹ⭐⭐⭐⭐⭐ ݅ ɾ"OESPJEΞϓϦϨϏϡʔ ɹ⭐⭐⭐⭐⭐
݅
ʮΫϥγϧΞϓϦ͕͍͢͝Ͱ͢Ͷʯ
ͪΐͬɺɺɺ
ΫϥγϧͷXFCؤுͬͯ·͢
⿏XFCͷදࣔվળ݁Ռ ɾදࣔͷվળ ɹTFDTFD ഒ λΠτϧ͔ͳΓͬͯɺ͢Έ·ͤΜ' ɾ1BHF4QFFE*OTJHIUT ˞ը૾දࣔྃ࣌ʹܭଌ
⿏ࣄͷൃ ʢAʣŇP0ᄾݺ
⿏औΓΜͩࣄ ɾΩϟογϡͷಋೖ ɾը૾ͷ࠷దԽ ɾෆཁͳDTTKBWBTDSJQUͷഉআ ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹͨΓલͳ͜ͱ͕Ͱ͖ͯͳ͔ͬͨɹʻ ʉ:?:?:?:?:?:?:?:?:?:?:?:?:?:?:?:ʉ
⿏Ωϟογϡͷಋೖ ɾϘτϧωοΫͲ͜ʹ͋Δͷ͔ʁ XFCʹϩάΠϯػೳ͕ͳ͍ શͯͷϢʔβʔ͕ಉ͡ϖʔδΛӾཡ ߋ৽සগͳ͍ ͦͷʹಉ͡42-͕Δ
⿏Ωϟογϡͷಋೖ ɾ3BJMTͰͷΩϟογϡ ɹ⿏ϖʔδΩϟογϡഇࢭ ɹ⿏ΞΫγϣϯΩϟογϡഇࢭ ɹ⿏ϑϥάϝϯτΩϟογϡ ɾίϯϙʔωϯτ͝ͱʹظݶΛࢦఆͯ͠ΩϟογϡͰ͖Δ ɾϏϡʔͷϩδοΫͷϑϥάϝϯτΛΩϟογϡϒϩοΫ ɹͰϥοϓ͢Δ͚ͩͰ͑Δ
⿏Ωϟογϡͷಋೖ ɾར༻ྫ #FGPSFNT 7JFXTNTc"DUJWF3FDPSENT "GUFSNT 7JFXTNTc"DUJWF3FDPSENT 7JFXͰͷ"DUJWF3FDPSEԆධՁͳͷͰɺ͜ΕͰ0,
⿏Ωϟογϡͷಋೖ ɾίʔυΛಡΜͰΈΑ͏ʂ ཁɺLFZWBMVF͕͋ͬͨΒಡΈɺͳ͔ͬͨΒॻ͘
⿏Ωϟογϡͷಋೖ ɾதʁ 4USJOHͷΦϒδΣΫτ͕֨ೲ͞Ε͍ͯΔ
⿏Ωϟογϡͷಋೖ ɾߋ৽͍ͨ͠߹ʁ Ͱ͖Δ͚ͩ͘Ωϟογϡ͍͚ͤͨ͞Ͳɺߋ৽͍ͨ͠ ಛఆͷϑϥά͕͋ΔͱΩϟογϡΛߋ৽͢ΔΈ όονͰճ͢
⿏ը૾ͷѹॖ ɾ5JOZ1/(͕͓͢͢Ί
⿏ը૾ͷѹॖ ɾσβΠφʔ͔ΒόφʔΛ͕͋ͬͯ͘Δɺɺɺɺ Ͳ͕ͬͪը࣭͕͍͍ͱࢥ͍·͔͢ʁ)
⿏ը૾ͷѹॖ ɾύϯμͷҖྗ ,# ,# ͷѹॖʹޭʂ
⿏ը૾ͷѹॖ ɾࣗલͰѹॖ ɾ༻ྫ QOHRVBOUTQFFERVBMJUZCBDLHSPVOEQOH ɾRVBMJUZΛࢦఆͰ͖ΔͷͰศར ɾ͜ΕΛTZTUFNͱ͔Ͱୟ͚͍͍͔ CSFXJOTUBMMKQFHPQUJN CSFXJOTUBMMQOHRVBOU
⿏ը૾ͷ࠷దԽ ɾσόΠεʹ࠷దͳαΠζΛબ΅͏ খ ,# த ,# େ ,# શ෦Ұ൪େ͖͍αΠζΛݺΜͰͨ
⿏ը૾ͷ࠷దԽ ɾσόΠεʹ࠷దͳαΠζΛબ΅͏ খ ,# த ,# େ ,# 1$ .PCJMF
ߴ͔Ζ͏ɺΑ͔Ζ͏Ͱͳ͍ ͨΓલ
⿏ෆཁͳ֎෦ϑΝΠϧΛഉআ ɾද֨ ͜Εͱ͔ ؔऀ͍Βͬ͠ΌͬͨΒ͢Έ·ͤΜɺɺɺ ͜ΕΛΊͬͪΌSFOEFS͢Δͱ͔Γ͕ͪɺɺɺ
⿏XFCͷදࣔվળ݁Ռ ɾදࣔͷվળ ɹTFDTFD ഒ ɾ1BHF4QFFE*OTJHIUT
⿏XFCαʔόʔͷνϡʔχϯά ɾςοΫϒϩάߋ৽ʂ IUUQUFDIEFMZKQFOUSZ ΩϟογϡΛಋೖ͢Δ͜ͱͰ%#ͷෛՙ͕ݮ ΑΓଟ͘ͷϦΫΤετΛࡹ͚ΔΑ͏ʹ ͋ͨΓɺສਓಉ࣌ଓ༨༟
⿏ΩϟογϡΛ͍͍ײ͡ʹ͢ΔHFN ɾNJMMBT ϛϠε IUUQRJJUBDPNPLVUBLVJUFNTBCBF ྑ͍ײ͡ʹΩϟογϡΛࢄ͍͚ͤͨ͞ͲɺΩϟογϡ Ε͍͗ͨ͠ɺͰ͖Δָ͚ͩΛ͍ͨ͠ ৄࡉ2JJUBͰʂ
8FSFIJSJOH
͝੩ௌɺ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ