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
About Rails ConnectionPool
Search
Takahiro Uchiyama
July 22, 2020
Technology
230
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
About Rails ConnectionPool
Quipper社内の「ゆるいRuby LT会 Vol.1」でやった資料です。
Takahiro Uchiyama
July 22, 2020
More Decks by Takahiro Uchiyama
See All by Takahiro Uchiyama
日々の意思決定の積み重ねを記録するアーキテクチャ・デシジョン・レコード / Architectural Decision Records
highwide
33
22k
停止性問題と数 / Halting problem and number
highwide
0
1.6k
GraphQLスキーマ設計の悩みどころ/My concerns about GraphQL schema design
highwide
0
2k
How about today's coffee?
highwide
0
510
How to choose "best of the best"
highwide
1
820
A question about private method testing
highwide
0
3.7k
A life-changing innovation for my work-style by IoT
highwide
0
700
a-code-to-rhyme
highwide
3
750
よちがや.rb案内スライド
highwide
1
610
Other Decks in Technology
See All in Technology
VPCセキュリティ対応の最新事情
nagisa53
1
340
13年運用タイトルのサーバーサイドが辿り着いた現在地 ― モンスターストライクにおける技術・組織・AI活用から得た知見
mixi_engineers
PRO
1
200
コンテナ・K8s研修【MIXI 26新卒技術研修】#2
mixi_engineers
PRO
1
270
Jitera Company Deck
jitera
0
620
それでも、技術なブログを書く理由 #kichijojipm / Why I Still Write Tech Blogs Even Now
shinkufencer
0
1.1k
論語・武士道・産業革命から見る かわるもの、かわらないもの
ichimichi
8
1.4k
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
2
900
基調講演:人とAIをつなぐIoTの今と未来 ー 「フィジカル」と「デジタル」が出会うその先へ【SORACOM Discovery 2026】
soracom
PRO
0
290
現場で使える AWS DevOps Agent 活用ノウハウ - Release Management 機能の検証結果を添えて / AWS DevOps Agent Release Management and Know-How
kinunori
3
250
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
1
610
信頼できるテスティングAIをどう育てるか?
odan611
0
120
事業成長とAI活用を止めないデータ基盤アーキテクチャの設計思想
hiracky16
0
740
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
920
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
430
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
We Have a Design System, Now What?
morganepeng
55
8.2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Designing for Performance
lara
611
70k
Building AI with AI
inesmontani
PRO
1
1.1k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
230
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
470
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
340
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Transcript
Նͩʂ ϓʔϧͩʂ 3VCZͰ-5ͩʂʂʂ Նͩʂ ϓʔϧͩʂ 3VCZͰ-5ͩʂʂʂ 2VJQQFSࣾΏΔ͍3VCZ-5ձ7PM !IJHIXJEF
ίωΫγϣϯ ϓʔϧͷ ࣮ΛͬͯΈͨ ίωΫγϣϯ ϓʔϧͷ ࣮ΛͬͯΈͨ 2VJQQFSࣾΏΔ͍3VCZ-5ձ7PM !IJHIXJEF ͱ͍͏Θ͚Ͱ
"CPVUNF BOEUPEBZTUIFNF ✴ ݄2VJQQFSʹKPJO ✴ ίʔνϯάνʔϜͰ8FC։ൃΛ͍ͬͯΔ ✴ ͜ͳ͍ͩͷVKJIJTBษڧձͰͷGPSLUISFBEͷઆ໌͕େมΘ͔Γ͔ͬͨ͢ͷͰɺۀʹͭͳ͕ ΔܗͰ͏গ͠۷ΓԼ͛ͯΈ͍ͨͱࢥͬͨ ✴
✴ 3BJMTͷ$POOFDUJPO1PPM5ISFBEͱ͕ؔ͋Δͱ͍͏ͳΜͱͳ͘ฉ͍ͨ͜ͱ͕͋Γɺ͜ ΕΛ۷ΓԼ͛Δͷʮࣗʹͱͬͯ৽نੑʯ͕͋Γͦ͏
ͱ͍͏͍ܰؾ࣋ͪͰ࢝ΊͨΒ ऩर͕͔ͭͳ͘ͳͬͨͷͰ ੜஆ͔͍ͰݟकͬͯΒ͑Δͱ͏Ε͍͠Ͱ͢ ˞͜ͷϖʔδൃදલʹͲ͏͢Μͩ͜Εͬͯؾ࣋ͪʹͳͬͯՃ͠·ͨ͠
Foo.find(1) ௐࠪΛελʔτ͢Δ্Ͱͷ࠷ॳͷϞνϕʔγϣϯ ࠓ3BJMTͷ͜ͷཪଆͰ ίωΫγϣϯ͕Ͳ͏ΘΕ͍͔ͯ͘ίʔυΛ͍ͬͯͧ͘ʂ
ͱ͜Ζ͕ʮ'PPGJOEʯͰίωΫγϣϯϓʔϧ͕ Ͳ͏ΘΕΔ͔ݟΔલʹ 3BJMTΛىಈͨ͠ͱ͜Ζ͔Β͍ͬͯ͘ඞཁ͕͋Δͱɺ ࠓճֶΜͰ͍ͯΘ͔ͬͨɻ
SBJMTىಈ࣌ʹBDUJWFSFDPSESBJMUJF͕SFRVJSF͞ΕΔ IUUQTSBJMTHVJEFTKQJOJUJBMJ[BUJPOIUNM
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@IBOEMJOHSC DPOGJHͷಡΈࠐΈׂѪɻ
BDUJWFSFDPSEMJCBDUJWF@SFDPSESBJMUJFSC ·ͣ͜͜ͰFTUBCMJTI@DPOOFDUJPO͕ݺΕΔɻ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@IBOEMJOHSC ͜͜ͷFTUBCMJTI@DPOOFDUJPO͕ݺΕΔɻ
DPOOFDUJPOͷઃఆΛಡΈࠐΜͰ
ʮDPOOFDUJPO@IBOEMFSʯͷɺFTUBCMJTI@DPOOFDUJPOΛݺͿɻ DPOOFDUJPO@IBOEMFSͬͯԿʁ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPSFSC ࠓͷ5ISFBEʹઃఆ͞Ε͍ͯΕɺͦͷDPOODUJPO@IBOEMFSΛ͏ɻ ·ͩઃఆ͞Εͯͳ͔ͬͨΒɺ$POOFDUJPO"EBQUFST$POOFDUJPO)BOEMFSΛ5ISFBEʹొ͓ͯ͘͠ɻ $POOFDUJPO)BOEMFS5ISFBEʹͭͷΑ͏ͩɻ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTSC $POODFDUJPO)BOEMFSDPOOFDUJPO@QPPMSCʹ͋Γͦ͏ͩ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC ࠷ऴతʹݺΕΔFTUBCMJTI@DPOOFDUJPO͜Εɻ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTDPOOFDUJPO@TQFDJGJDBUJPOSC EBUBCBTFZNMͷΛݩʹ࡞ͬͨDPOGJH͔Βɺ$POOFDUJPO4QFDJGJDBUJPOΫϥεΛฦ͢
طʹଘࡏ͍ͯ͠ΔDPOOFDUJPOΛSFNPWF͢Δɻ ˞ͨͩ͠ࠓͬͯΔͷ3BJMTͷॳճىಈ࣌ͳͷͰׂѪɻ
"DUJWF4VQQPSU/PUJGJDBUJPOTJOTUSVNFOUFSͱʁ
IUUQTSBJMTHVJEFTKQBDUJWF@TVQQPSU@JOTUSVNFOUBUJPOIUNM
DPOOFDUJPOBDUJWF@SFDPSEͱ͍͏໊લͰ֎͔ΒϑοΫͰ͖ΔΠϕϯτΛ࡞͍ͬͯΔ
PXOFS@UP@QPPMͱʁ
!PXOFS@UP@QPPMJOJUJBMJ[F࣌ʹ࡞ΒΕ͍ͯΔ BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC
IUUQTXXXSVCZEPDJOGPHFNTDPODVSSFOUSVCZ$PODVSSFOU.BQ DPODVSSFOUSVCZͷ.BQͷΑ͏ͩɻ
TQFDOBNFΛʮPXOFSʯͱߟ͑ɺͦΕʹରԠ͢Δ $POOFDUJPO"EBQUFST$POOFDUJPO1PPMΛಥͬࠐΜͰ͍Δ͜ͱ͕Θ͔Δɻ
IUUQTBQJSVCZPOSBJMTPSH ͜͜ͰυΩϡϝϯτΛݟ͓ͯ͘ɻ
ᐌ͘ ✴ ίωΫγϣϯϓʔϧɺσʔλϕʔεଓΛߦ͏εϨουͱಉظ͢Δ ✴ ͦΕͧΕͷεϨουσʔλϕʔεͷίωΫγϣϯΛίωΫγϣϯϓʔϧ͔ΒνΣοΫΞ τ͠ɺίωΫγϣϯΛ͍ɺ͍ऴΘͬͨΒνΣοΫΠϯ͢Δ ฦ͢ ɻ ✴ $POOFDUJPO1PPMશʹUISFBETBGFͰɺҰͭͷίωΫγϣϯͭͷεϨου͔Βಉ࣌ʹ
͑ͳ͍ɻ ✴ ίωΫγϣϯΑΓεϨου͕ଟ͍ͱ͖ʹɺεϨου্͕ݶΛ͑ͯίωΫγϣϯΛ νΣοΫΞτ͠Α͏ͱͨ͠ͱ͖ɺ$POOFDUJPO1PPM5ISFBE͕ίωΫγϣϯΛฦͯ͘͠ ΔͷΛͭ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC
ίωΫγϣϯΛΩϟογϡ͢Δ͍ΕͷΛ࡞͓ͬͯ͘
ίωΫγϣϯऔಘͪ ͷΩϡʔΛ࡞͓ͬͯ͘
None
IUUQTBQJSVCZPOSBJMTPSHDMBTTFT"DUJWF3FDPSE$POOFDUJPO"EBQUFST$POOFDUJPO1PPM3FBQFSIUNM EBUBCBTFZNMͰઃఆ͞ΕͨGSFRVFODZͷඵ ͘͠σϑΥϧτͷඵ ͝ͱʹ ίωΫγϣϯϓʔϧͷGMVTIͱSFBQΛݺΜͰ͍Δ
None
None
None
None
✴ EBUBCBTFZNM͔ΒಘΒΕͨTQFDΛͱʹ$POOFDUJPO1PPMΛ࡞͍ͬͯΔ ✴ $POOFDUJPO1PPMࣗମ࡞Δͷͷɺ·ͩ$POOFDUJPOࣗମཱ͍֬ͯ͠ͳ͍͜ͱ͕Θ͔Δ "DUJWF3FDPSE$POOFDUJPO"EBQUFST$POODFUJPO)BOEMFSFTUBCMJTI@DPOOFDUJPO
Foo.find(1) Α͏͘3BJMT͕ىಈͰ͖ͨͷͰ͍ͭ͜ͷॲཧΛ͑Δɻ
BDUJWFSFDPSEMJCBDUJWF@SFDPSECBTFSC
BDUJWFSFDPSEMJCBDUJWF@SFDPSECBTFSC
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPSFSC
BDUJWFSFDPSEMJCBDUJWF@SFDPSECBTFSC
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@IBOEMJOHSC ͜͜ͷDPOOFDUJPO@IBOEMFS͖ͬ͞ݟͨΑ͏ʹˣʹ͋Δ BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPSFSC
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC QPPMΛऔಘͯ͠ɺQPPM͔ΒDPOOFDUJPOΛऔಘ͍ͯ͠Δͷ͕Θ͔Δ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC ίωΫγϣϯ͕Ωϟογϡ͞Ε͍ͯΔ߹ͦΕΛར༻͠ɺͳ͚ΕDIFDLPVUͯ͘͠Δ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC Ωϡʔʹ͕͍ͪΕͦΕΛ͍ɺͦ͏Ͱͳ͚Εɺ৽͍͠ίωΫγϣϯΛνΣοΫΞτ͢Δ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC OFX@DPOOFDUJPOࣗମɺ֤%#ͷBEBQUFS͔ΒಘΒΕΔ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPOOFDUJPO@BEBQUFSTBCTUSBDUDPOOFDUJPO@QPPMSC 5ISFBEಉظͷதͰɺ৽͍͠DPOOFDUJPO͕QPPMʹొ͞ΕΔ
BDUJWFSFDPSEMJCBDUJWF@SFDPSEDPSFSC ͱ͍͏Θ͚ͰɺDPOFODUJPOऔಘͷཱྀ͍͕ऴΘΓɺGJOEͰ͏ͨΊͷDPOOFDUJPO͕֬อͰ͖ͨʂ
ײ ✴ ࣮ɺ·ͱʹ3BJMTͷίʔυΛಡΜͰ͍͘ܦݧ͕͋·Γͳ͔ͬͨͷͰָ͋ͬͨ͘͠ ✴ εϥΠυʹసه͠ͳ͕ΒίʔυϦʔσΟϯά͍ͯ͘͠ͷɺҙ֎ͱϝϞϦ͕εϥΠυʹ ΔͷͰͪΐͬͱ͚ͩศར ✴ $POOFDUJPO1PPMͷ2VFVFͱ3FBQFSपΓͷཧղ͕·ͩઙ͍ ✴ 3BJMTͷ"84ͷ"VSPSBͷϑΣΠϧΦʔόʔ$POOFDUJPO1PPMपΓͰ૬ੑ͕ѱ͍ͱ͍͏ʹͭ
͍ͯฉ͍ͨ͜ͱ͕͋Γɺͦͷ͋ͨΓͷݟ͕ࣝਂ·ͬͨ ✴ ࢀߟIUUQNBUTVLB[IBUFOBCMPHDPNFOUSZ
-FUTEJWFJOUPUIFQPPM 5IBOLT