Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プールにゆこう

irof
March 25, 2024

 プールにゆこう

関ジャバ'24 3月度 https://kanjava.connpass.com/event/311167/

3月後半でもう春だよなぁプール開きだよなぁと思ってたんだけど、当日クソ寒かった。

irof

March 25, 2024
Tweet

More Decks by irof

Other Decks in Programming

Transcript

  1. ϓʔϧ • ͳʹ͔ΛཷΊ͓ͯ͘΋ͷ • JavaͷੈքͰ͸ʮͳʹ͔ʯʹʮΦϒδΣΫτʯ • ͭ·ΓʮϓʔϧʯʹΦϒδΣΫτϓʔϧ • ཷΊͯɺ࢖͑ΔΑ͏ʹ͍ͯ͠Δঢ়ଶ •

    ϓʔϧͱ͍͏໊લ͸ʮཷΊΔʯʹओ؟͕͋Γͦ͏͕ͩɺ࢖͏ͨΊʹཷΊΔΜͩΑͶͱ • ͳͷͰʮཷΊΔʯ͸ͦͷΑ͏ʹݟ͍͑ͯΕ͹ɺ࣮ࡍཷ·͍ͬͯͳͯ͘΋Α͍
  2. ίωΫγϣϯϓʔϧɺͨͱ͑͹ɻ • σʔλϕʔείωΫγϣϯϓʔϧ • ໰୊: σʔλϕʔεͱͷ઀ଓʹ͸͕͔͔࣌ؒΔ • ௨৴ͷཱ֬ɺೝূɺ΄͔ • ໰୊:

    σʔλϕʔε͕ड͚ೖΕΒΕΔ઀ଓ਺ʹ͸ݶΓ͕͋Δ • σʔλϕʔεαʔόʔͷϦιʔεΛফඅ͢Δ • ద੾ʹղ์͠ͳ͍ͱ͍͚ͳ͍
  3. εϨουϓʔϧɺͨͱ͑͹ɻ • ϫʔΧʔεϨουϓʔϧ • ϦΫΤετΛεϨουͰࡹ͘ΞϓϦέʔγϣϯͰग़ͯ͘Δ • ໰୊: εϨουͷੜ੒ʹ͸࣌ؒ΋ίετ΋͔͔Δ • ໰୊:

    ৔౰ͨΓʹεϨουΛੜ੒͢ΔͱJVMͷϦιʔεΛ৯͍௵͢ • ໰୊: εϨου࢖༻࣌ʹ͸࢖͏ଆ͕ҙࣝͨ͘͠ͳ͍ܾ·Γࣄ͕͋Γ͕ͪ
  4. εϨουϓʔϧͰͱ͘ʹ΍͓͖͍ͬͯͨ͜ͱ • Θ͔ΔΑ͏ʹ͓ͯ͘͠ • ԿݸͷεϨου͕͋Δ͔ • ԿݸͷεϨου͕๩͍ͯ͘͠͠Δ͔ • Կ݅ͷλεΫ͕଴ͪड͚த͔ •

    ҟৗ࣌Λߟྀ͓ͯ͘͠ • εϨου͕ࢮΜͩΒͲ͏ͳΔ͔ • JVM͕ࢮΜͩ࣌ʹॲཧத΍଴ͪड͚தͷ͕Ͳ͏ͳΔ͔
  5. WEBΞϓϦͱϓʔϧ • ϓʔϧͳ͠ͷੈքɺͭ·ΓΫϥΠΞϯτ͔ ΒϦΫΤετΛ͏͚͔ͯΒશ෦΍Δੈք؍ ΋͋Δ • ͕ɺJavaͳWebΞϓϦ͸ͦΜͳੈք؍Ͱ͸ ͳ͍ • JavaͳWebΞϓϦ͸͍ΖΜͳϓʔϧΛ४උ

    ͔ͯ͠ΒʮΑͬ͠Ό͜ʔ͍ʯͬͯ΍Γ·͢ • Javaͷʢىಈ͕ʣ஗͍ͱ͔ݴΘΕΔҰҼ • ىಈ࣌ͷΫϥεಡΈࠐΈ΋ClassLoaderͬͯ ϓʔϧʹΫϥε৘ใΛ٧ΊࠐΜͰΔͱݴ͑Δ
  6. ແݶʹ༻ҙ͓͚ͯ͠͹͍͍ͱ͍͏΋ͷͰ͸ͳ͍ • Ϧιʔε͸͍ͭͩͬͯ༗ݶɻΫϥΠΞϯτͱͯ͠ͷίωΫγϣϯϓʔϧ͸αʔόʔଆ͕ड͚ೖΕΒΕΔݶ౓ ͕͋Δ͠ɺ1ϓʔϧͰ઎༗͍͍ͯ͠਺ʹ΋ݶ౓͕͋ΔɻεϨου͸JVMͷதͷ࿩͚ͩͲɺεϨουΛ࡞Δ͝ ͱʹϝϞϦΛ࢖͏͔ΒɺͦΕΛߟྀͨ͠ϝϞϦઃఆ͕ඞཁɻ • ͨ͘͞Μͷ΋ͷͷॳظԽΛʮલआΓʯ͢Δͱɺ౰વͦͷ෼͚ͩىಈ͕஗͘ͳΔɻ • ඞཁͳ͚ͩΛ֬อͯ͠͠Ύͬͱىಈͯ͠΄͍͠ɻ •

    ༻ҙͨ͠΋ͷͷϥΠϑαΠΫϧ؅ཧ͕͍Δ • ίωΫγϣϯϓʔϧ͸ʮ઀ଓ͕༗ޮ͔ʯͷ֬ೝ͕͍Δɻ੾அ͞ΕͨίωΫγϣϯΛ౉ͨ͠ΒʮίωΫ γϣϯϓʔϧΛೖΕͨΒ͏·͘௨৴Ͱ͖ͳ͍͜ͱ͕૿͑ͨʂʯͱ͔ͳΓ·͢ͷͰɻϋ΢εΩʔϐϯάΛ ͢ΔεϨου͕८ճͯ͠΍ͬͨΓ͢ΔͷͰɺ਺͕ଟ͍ͱͦΕ͚ͩෛ୲ʹͳΔɻ • ͜ΕΒͷαΠζ͸ͦΕͳΓʹؔ࿈͕͋ͬͨΓͳ͔ͬͨΓʢͬͯ࿩Λ࣍ʹ͠·͢ʣ
  7. ϓʔϧͷσϑΥϧταΠζ • SpringBootͷ৔߹ • TomcatͷϫʔΧʔεϨου: 200 • HikariCPͷίωΫγϣϯϓʔϧ: 10 •

    10ͬͯগͳ͍ʁͱࢥ͏ํ͸HikariCPͷ WikiʹσϑΥϧτ10ͱͯ͠Δཧ༝આ໌ ͯ͠Δ͔ΒɺҰ౓ݟ·͠ΐ͏ɻ
  8. ୯ҰΞϓϦέʔγϣϯͰ΋αʔόʔ͸ෳ਺͕͋ͨΓ·͑ • ΞϓϦέʔγϣϯαʔόʔ͕ϦΫΤετΛ ·͕ͨͬͨঢ়ଶΛ࣋ͭͱʮͳΜͰͦΜͳ࡞ ΓʹͳͬͯΔΜͩʁʯͱݴΘΕ͔Ͷͳ͍ɻ • ίϯςφͷޙԡ͠΋͋ͬͯɺΞϓϦέʔ γϣϯαʔόʔͷ਺͸ΑΓՄมʹͳ͍ͬͯ Δɻ •

    ੲ͸ͷ͏ɺҰ߸ػɺೋ߸ػͱ͍͏;͏ ʹαʔόʔΛݺΜͰ͍ͨΜ͡Ό👴 • ແఀࢭσϓϩΠͱ͔͢Δͱ͞Βʹഒʹ ͳͬͨΓ͢ΔɻΠϯϓϨʔεͳϩʔϦϯά Ͱ΋࠷௿1୆͸૿͑Δɻ
  9. ڞ༗σʔλϕʔεͰͷίωΫγϣϯࢉ • ๯಄ͷਤɻ2ΞϓϦέʔγϣϯͰ20ʁ • ΞϓϦ͝ͱʹ10઀ଓɺͦΕ͕2Πϯελϯ εɻ͜͜ʹσϓϩΠ͕ॏͳͬͨΒ2ഒɻͦΕ ͕2ΞϓϦͳͷͰɺMAX80ʹͳΔɻ • 80͘Β͍ͳΒ໰୊ʹͳΒͳ͍͚Ͳɺ1ΞϓϦέʔ γϣϯ͋ͨΓͷσʔλϕʔείωΫγϣϯϓʔ

    ϧ͕10Ͱ଍ΓΔઃܭ͕Ͱ͖͍ͯΔ͔ʹ͔͔Δɻ Ͱ͖͍ͯͳ͍ͳΒ૿΍͟͞ΔΛಘͳ͍ɻ • 1ΞϓϦ100ʹͨ͠Β800ͩͶ⭐ • ڞ༗σʔλϕʔεͳઃܭΛ͢Δੈք؍Ͱ͸ɺ2Ξ ϓϦͳΜ͔Ͱ͸ޮ͔ͳ͍Ͱ͠ΐ͏ɻ
  10. ॳظαΠζͷ࿩ • ϫʔΧʔεϨουʢTomcatʣ • Initial: 10, Max: 200 • ίωΫγϣϯϓʔϧʢHikariCPʣ

    • Initial: 10, Max: 10 • ϓʔϧ͢Δ΋ͷ͸ίετ͕ߴ͍ɻ֬อ ͓ͯ͘͠ʁ΄Μͱʁ֦ு͢ΔͳΒɺͦ ͷίετΛ୭ʹෛΘͤΔʁϋζϨҾ͍ ͨϢʔβʁʁ