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
SmartHRのパフォーマンス改善が 総力戦だった話
Search
DaisukeShinoku
September 11, 2023
Programming
9
4.2k
SmartHRのパフォーマンス改善が 総力戦だった話
2023.09.08 Fri. Meetup for Ruby Engineers@メドピア株式会社様オフィス
https://medpeer.connpass.com/event/292464/
DaisukeShinoku
September 11, 2023
Tweet
Share
More Decks by DaisukeShinoku
See All by DaisukeShinoku
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
420
最短リリースの壁を超えろ!チーム立ち上げから71営業日でプロダクトリリースした話
daisukeshinoku
1
1.6k
Ruby と Rails の小ネタ集
daisukeshinoku
3
1.9k
受託開発から人事労務SaaSに転職して1年間でやったこと
daisukeshinoku
2
1.8k
今の SmartHR にエンジニアで入社するとどうなるの?
daisukeshinoku
8
6.6k
テンショク・ジャーニー —航海士だった僕が、SaaS企業でエンジニアとして働き始めるまで—
daisukeshinoku
1
1.8k
仕事観がアップデートされた読書体験 「エンジニアリング組織論への招待」を読んで
daisukeshinoku
2
1.7k
はじめてのアジャイル・スクラム開発での新鮮な発見
daisukeshinoku
2
2.5k
スクラム & アジャイル本をまとめてみた
daisukeshinoku
0
750
Other Decks in Programming
See All in Programming
php-fpm がリクエスト処理する仕組みを追う / Tracing-How-php-fpm-Handles-Requests
shin1x1
5
2.8k
The Weight of Data: Rethinking Cloud-Native Systems for the Age of AI
hollycummins
0
260
Vibe Codingをせずに Clineを使っている
watany
17
5.8k
サービスクラスのありがたみを発見したときの思い出 #phpcon_odawara
77web
4
610
プロダクト横断分析に役立つ、事前集計しないサマリーテーブル設計
hanon52_
0
120
フロントエンドテストの育て方
quramy
11
2.9k
Going Structural with Named Tuples
bishabosha
0
200
Go1.24 go vetとtestsアナライザ
kuro_kurorrr
2
820
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
1.1k
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
910
SQL Server ベクトル検索
odashinsuke
0
160
生成AIを使ったQAアプリケーションの作成 - ハンズオン補足資料
oracle4engineer
PRO
3
170
Featured
See All Featured
BBQ
matthewcrist
88
9.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
510
The Pragmatic Product Professional
lauravandoore
33
6.5k
Optimising Largest Contentful Paint
csswizardry
35
3.2k
Scaling GitHub
holman
459
140k
Fireside Chat
paigeccino
37
3.4k
Facilitating Awesome Meetings
lara
54
6.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.6k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Music & Morning Musume
bryan
47
6.4k
GraphQLの誤解/rethinking-graphql
sonatard
70
10k
Transcript
4NBSU)3ͷύϑΥʔϚϯεվળ͕ ૯ྗઓͩͬͨ 'SJ.FFUVQGPS3VCZ&OHJOFFST!ϝυϐΞגࣜձ༷ࣾΦϑΟε ৽Ԟେհ 4NBSU)3αʔόʔαΠυΤϯδχΞ
৽Ԟେհʢ͠Μ͓͍͚ͩ͘͢ʣ ߤւ࢜ 8FCडୗ։ൃΤϯδχΞ ϲ݄ 4NBSU)3ΤϯδχΞ ϲ݄
ࣗΒધΛૢॎͯ͠ύφϚӡՏΛͬͨ །Ұͷຊਓ8FCΤϯδχΞʢଟʣ ࣗݾհ ଠฏ༸ େ༸
4NBSU)3ʹೖࣾͨͯ͠ͷࢲ͕ɺੳϨϙʔτ։ൃ νʔϜͰύϑΥʔϚϯεվળʹऔΓΜͰײͨ͡ ʮ4NBSU)3։ൃ৫ͷ૯ྗઓͿΓʯʹ͍ͭͯ ˣ ͬͯ΄͍͠ͱ͜Ζ ɾνʔϜϫʔΫతͳ૯ྗઓͿΓ ɾπʔϧతͳ૯ྗઓͿΓ ຊͷςʔϚ ։ൃऀମݧ͕ྑ͍ʂ
ੳϨϙʔτͱ ਓࣄσʔλΛूܭɾՄࢹԽ͢Δ#*πʔϧ ɾ4NBSU)3ຊମ͔Β)551௨৴Ͱσʔλऔಘ ɾՄࢹԽ࣮ݱͷͨΊͷෳࡶͳΫΤϦ ɾ͍ྺ࢙Ͱൃੜͨ͠ෛ࠴ʢ݄dʣ ˣ ύϑΥʔϚϯε໘ͰϢʔβʔͷӡ༻ʹࢧোΛ དྷ͍ͯ͠ΔڪΕ 4NBSU)3ຊମ ੳϨϙʔτ
)551
ύϑΥʔϚϯεվળͷ͖͔͚ͬ ɾେاۀͱஊ૿Ճ ɾنͷେ͖͍Ϣʔβʔاۀͷ૿Ճ ϏδωεతཁҼ #JH2VFSZ3FEBTIΛར༻ ͨ͠ʑͷੳ #J[ϝϯόʔ˱%FWϝϯόʔ Ͱͷίϛϡχέʔγϣϯ
4NBSU)3ʹ͓͚Δ#JH2VFSZͱ3FEBTI ֤ϓϩμΫτͷσʔλΛݸਓใΛϚεΫͯ͠#JH2VFSZ *NQPSU͢ΔΈΛΫϥυج൫νʔϜओಋͰߏங ˣ 3FEBTIͱ͍͏πʔϧͰੳۀʹར༻
ύϑΥʔϚϯεվળͷ͡·Γ ɾσʔλಉظͷ࣌ؒԽ ɾԿेඵ୯ҐͷϨεϙϯεͷൃੜ ٕज़తཁҼ /FX3FMJDμογϡϘʔυʹ ͯϞχλϦϯά
/FX3FMJDͷ׆༻ ҟৗࣄଶʢஶ͍͠ϨεϙϯεѱԽͳͲʣ Λݕ͢ΔͨΊ/FX3FMJDμογϡϘʔυΛར༻
૯ྗઓͰऔΓΉύϑΥʔϚϯεվળ ຊମੳϨϙʔτؒͷσʔλಉظॲཧΛվળͨ͠ࣄ ྫΛղઆ ΰʔϧઃఆ ݱঢ়ੳ Ծઆݕূ ࣮ɾϦϦʔε ޮՌଌఆ
ΰʔϧઃఆ ݱঢ়ੳ Ծઆݕূ ࣮ɾϦϦʔε ޮՌଌఆ
ݱঢ়ੳʢଌఆ༻ςετςφϯτͷ४උʣ 4NBSU)3Ͱଟ༷ͳσʔλΛѻ͍ͬͯΔͨΊɺςετ ༻ͷςφϯτͷ࡞ʹ࿑ྗ͕͔͔Δ ˣ ࣭อূͷϓϩɺ2"άϧʔϓ͕ཧ͢Δσʔλ࡞ε ΫϦϓτͷग़൪
ݱঢ়ੳʢϦΞϧςφϯτͷੳʣ ࣮ࡍͷϢʔβʔͷ༻ײѲ͍ͨ͠ ˠ/FX3FMJDμογϡϘʔυ($1ͷ-PH"OBMZUJDT ͰϩάΛৄࡉੳ
ݱঢ়ੳʢݱঢ়ͷՄࢹԽʣ σʔλಉظʹ͔͔ͬͨ࣌ؒΛاۀنɾॴཁ࣌ؒͰྨ ͯ͠ΤϯδχΞҎ֎ʹҰͰΘ͔ΔΑ͏ՄࢹԽ ਓҎԼ dਓ dਓ ਓ
ΰʔϧઃఆ ݱঢ়ੳ Ծઆݕূ ࣮ɾϦϦʔε ޮՌଌఆ
ΰʔϧઃఆ ʮݱঢ়͔ΒͲͷΑ͏ͳঢ়ଶʹͳΕվળͱݴ͑Δʁʯ ։ൃϝϯόʔͷΛ͑ͯؔऀΛר͖ࠐΜͰٞ ˠΤϯδχΞͱؔऀؒͷೝࣝͷζϨΛຒΊΔ ˠϢʔβʔͱ͍ۙॴʹ͍Δ#J[ϝϯόʔͷײ֮Λฉ͘
ΰʔϧઃఆ Ϣʔβʔͱ͢Δػձͷଟ͍ʮΧελϚʔαΫηεʯ ʮνϟοταϙʔτʯϝϯόʔͷҙݟʹΑͬͯɺΑΓߴ ͍ղ૾Ͱͷΰʔϧઃఆ͕Մೳʹʂ ։ൃνʔϜ εςʔΫϗϧμʔ
ΰʔϧઃఆ zdਓنͷςφϯτzͰҎׂྃ߹ ˠϏδωε্ͷྗλʔήοτʹͬͯΒ͑Δਫ४ Ҏ Ҏ ݱঢ়
ࢦ͢ΰʔϧ
ΰʔϧઃఆ ݱঢ়ੳ Ծઆݕূ ࣮ɾϦϦʔε ޮՌଌఆ
ԾઆݕূʢԾ࣮ʣ -PH"OBMZUJDTʹΑΔϩάͷৄࡉੳɿ ຊମੳϨϙʔτؒͷࠩΛൺֱͤͣຖಉظͰ <আ>ˠ<৽نొ>ΛҰׅͰ͍ͯ͠ΔॲཧΛൃݟ ࣮ํɿ ಉظॲཧ࣮ߦ࣌ͷຊମੳϨϙʔτؒͷࠩʹԠͯ͡ <৽نొ>ɺ<ߋ৽>ɺ<আ>ɺ<Կ͠ͳ͍ʢߋ৽ͳ͠ʣ> Λࡉ੍͔͘ޚ͢Δ͜ͱͰߴԽ͢ΔͱԾઆ Ծ࣮ஈ֊ͰܭଌΛ࣮ࢪ
Ծઆݕূʢܭଌʣ ಈ࡞ݕূ༻ڥΛຊ൪ڥͱಉεϖοΫʹҰ࣌తʹ૿ ڧͯ͠ܭଌͨ݁͠Ռ ඵˠඵʢഒʣ ͱ͍͏݁ՌͱͳΓ֬ͷߴ͍վળҊͰ͋Δ͜ͱΛ֬৴
Ծઆݕূʢܭଌʣ ಈ࡞ݕূ༻ڥΛຊ൪ڥͱಉεϖοΫʹҰ࣌తʹ૿ ڧͯ͠ܭଌͨ݁͠Ռ ඵˠඵʢഒʣ ͱ͍͏݁ՌͱͳΓ֬ͷߴ͍վળҊͰ͋Δ͜ͱΛ֬৴ 4NBSU)3Πϯϑϥࣄ Ϋϥυج൫νʔϜओಋͰ5FSSBGPSNΛಋೖࡁ ։ൃνʔϜ͕ύϥϝʔλʔΛઃఆ͢Δ͚ͩͰڥߏங͕Մೳ
ΰʔϧઃఆ ݱঢ়ੳ Ծઆݕূ ࣮ɾϦϦʔε ޮՌଌఆ
࣮ɾϦϦʔε Ծ࣮ঢ়ଶ͔Β҆શੑΛ୲อ͢ΔϑΣʔζͰطଘͷςετ ίʔυෆͷཁҼ͕͋ΓϦϦʔεΛҰԆظ͕ͨ͠ɾɾ ˣ ϞϒϓϩɺίʔυϨϏϡʔΛ௨ͯ͠νʔϜશһ͕ࣗ৴Λ ࣋ͬͨঢ়ଶͰຬΛ࣋ͯ͠ຊ൪ڥϦϦʔεʂʂ ৺ʹͬͨ1E. ͷίϝϯτ ΤϯδχΞͷഽײ֮ॏཁͳͷͰ ʮςετͳ͍ͷා͍ΑͶʯͬͯ
ϦϦʔεʹͬͨΛ͔͚ͯ͘ΕΔͷ ͱͯॿ͔Δ
ΰʔϧઃఆ ݱঢ়ੳ Ծઆݕূ ࣮ɾϦϦʔε ޮՌଌఆ
ޮՌଌఆ ςετςφϯτͰͷ݁ՌɺಛఆςφϯτͰͷϩά͚ͩͰ ͳ͘ɺվળޮՌ3FEBTIΛ͔ͬͯͬ͠ΓͱՄࢹԽ͢Δ վળલ վળޙ ୭͕ݟͯվળ͕໌Β͔ʂ
CONFIDENTIAL ඪୡͰ͖ͨͷ͔ʁʁ ϥΠϯ վળલ zdਓنͷςφϯτzͰҎׂྃ߹ Ҏ
CONFIDENTIAL ϥΠϯ վળલ վળޙ zdਓنͷςφϯτzͰҎׂྃ߹ Ҏ Ҏ ඪୡͰ͖ͨͷ͔ʁʁ
CONFIDENTIAL ୡʂʂ
CONFIDENTIAL ύϑΥʔϚϯεվળରσʔ λಉظ͚ͩͰͳ͍ɾɾɾ
CONFIDENTIAL ϑϩϯτͷϨϯμϦϯάॲཧ άϥϑදࣔͷͨΊͷ42-FUDʜ
CONFIDENTIAL ԶͨͪੳϨϙʔτ։ൃνʔϜ ͷઓ͍͜Ε͔Βͩʂ
CONFIDENTIAL ͱ͍͏͜ͱͰຊͷ·ͱΊ
CONFIDENTIAL ύϑΥʔϚϯεվળͷऔΓΈํ ɾؔऀΛ͘ר͖ࠐΉνʔϜϓϨΠ ɾࣾͰར༻Ͱ͖ΔπʔϧΛ࠷େݶ׆༻ ˣ ɾνʔϜ͕ಉ͡ํΛ͍͍ͯΔҰମײ ɾվળ͕Ϣʔβʔʹಧ͍͍ͯΔͱ͍͏ࣗ৴ ։ൃऀମݧͷ্ʹܨ͕͍ͬͯΔ
CONFIDENTIAL ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠