Slide 1

Slide 1 text

ߴूੵϚϧνΞΧ΢ϯτج൫ͱྲྀྔ੍ޚͷཱ྆ দຊ྄հ, খా஌ԝ (ϖύϘݚڀॴ), ּݪٛߊ, ౢ٢ོ෉, ۚࢠߊհ (۝भେֶ), ܀ྛ݈ଠ࿠ (ϖύϘݚڀॴ), Ԭଜߞೋ (۝भେֶ) 2018.03.05 ৘ใॲཧֶձ ୈ40ճΠϯλʔωοτͱӡ༻ٕज़ݚڀൃදձ ਫ਼៛ͳղੳͱ੍ޚ͕Մೳͳ ߃ৗੑͷ͋Δϝʔϧج൫ͷઃܭ

Slide 2

Slide 2 text

1. എܠͱ໨త 2. ؔ࿈ݚڀ 3. ఏҊख๏ͷઃܭͱ࣮ݧతͳ࣮૷Ҋ 4. ·ͱΊͱࠓޙͷ՝୊ 2 ໨࣍

Slide 3

Slide 3 text

1. എܠͱ໨త

Slide 4

Slide 4 text

• ࠓ΋޿͘࢖ΘΕ͍ͯΔϝʔϧ • ϝʔϧαʔϏεࣄۀऀ΋·ͩ·ͩݱ໾ • ϋʔυ΢ΣΞίετΛޮ཰ར༻͢ΔͨΊʹΞΧ΢ϯτ΍υϝΠϯΛߴूੵԽ • େྔૹ৴ɺspamϝʔϧɺϝʔϧ஗ԆɺΞΧ΢ϯτ৐ͬऔΓ౳ • ݁ՌతʹγεςϜ؅ཧɾϢʔβαϙʔτίετͷ૿Ճ • ಛఆͷΞΧ΢ϯτ΍υϝΠϯͷϦιʔε΍ྲྀྔ઎༗ʹΑΔෆ҆ఆੑ͕՝୊ 4 ݚڀͷഎܠ

Slide 5

Slide 5 text

• ߴूੵԽͷͨΊʹ୯Ұͷαʔόϓϩηε܈Ͱෳ਺ͷυϝΠϯΛॲཧ • υϝΠϯʢԾ૝υϝΠϯʣ୯ҐͰͷ੍ޚػೳ͕ݶఆత • શͯͷυϝΠϯʹରͯ͠ಉҰͷಉ࣌઀ଓ਺౳ͷ੍ݶΛ੩తʹઃఆ • ੍ݶա৒ʹΑΓαʔόϦιʔεΛे෼ʹ࢖͍੾Δ͜ͱ͕೉͍͠ • υϝΠϯ୯ҐͰαʔόϓϩηε܈Λىಈ • ϝʔϧιϑτ΢ΣΞ΍ϓϩηε୯Ґͷશͯͷ੍ޚઃఆ͕Մೳ • ϓϩηε਺͕υϝΠϯ਺ʹґଘͯ͠ߴूੵʹऩ༰Ͱ͖ͳ͍ 5 ैདྷख๏ɿߴूੵϚϧνΞΧ΢ϯτܕͷྲྀྔ੍ݶ

Slide 6

Slide 6 text

• υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈͤͭͭ͞ߴूੵԽΛ࣮ݱ͢Δج൫ • ͱ͋ΔηογϣϯͰҰఆظؒىಈ͠ɺঢ়ଶͷมԽʹૉૣ͘ରԠՄೳͳί ϯςφΞʔΩςΫνϟΛԠ༻ → FastContainerΞʔΩςΫνϟ※1 • υϝΠϯ୯ҐͰਫ਼៛ʹղੳ΍ྲྀྔɾϦιʔε੍ޚ͕Մೳͳج൫ • ίϯςφʹΑΔϋʔυ΢ΣΞϦιʔε੍ޚΛυϝΠϯ୯ҐͰ࣮ࢪՄೳ • ίϯςφ୯ҐͰͷϦιʔεෆ଍͸ߴ଎ʹεέʔϧΞ΢τՄೳ 6 ఏҊख๏ɿਫ਼៛ʹղੳՄೳͳ߃ৗੑͷ͋Δϝʔϧج൫ ˞দຊ྄հ ۙ౻Ӊஐ࿕ ࡾ୐༔հ ྗ෢݈࣍ ܀ྛ݈ଠ࿠ 'BTU$POUBJOFS࣮ߦ؀ڥͷมԽʹૉૣ͘దԠͰ͖Δ߃ৗੑΛ࣋ͭγε ςϜΞʔΩςΫνϟ Πϯλʔωοτͱӡ༻ٕज़γϯϙδ΢Ϝ࿦จूɼɼʢʣ ೥݄

Slide 7

Slide 7 text

2. ؔ࿈ݚڀ

Slide 8

Slide 8 text

• શυϝΠϯશମ·ͨ͸઀ଓΫϥΠΞϯτ୯Ґͷ੍ޚʢPostfix΍Sendmailʣ • ಉ࣌઀ଓ਺ɺ͋Δ͍͸୯Ґ࣌ؒ͋ͨΓͷ઀ଓ਺ • ୯Ґ࣌ؒ͋ͨΓͷϝοηʔδ഑ૹཁٻ਺ • ୯Ґ࣌ؒ͋ͨΓͷૹ৴Մೳͳड৴ऀΞυϨε਺ • αʔόϦιʔε࢖༻ྔͱϝʔϧྲྀྔΛཱ྆͢Δ࠷దͳઃఆ͕೉͍͠ • ֤υϝΠϯʹݸผʹҟͳΔ஋Ͱ͸ͳ͘ڞ௨੍ͨ͠ݶ஋Λ੩తʹઃఆ • αʔόΛकΔ੍ݶ͸Ͱ͖Δ͕ϦιʔεΛे෼ʹ࢖͍੾Δ͜ͱ͕೉͍͠ 8 Ծ૝υϝΠϯʹ͓͚ΔҰൠతͳૹ৴੍ޚख๏ͱ՝୊

Slide 9

Slide 9 text

• ֎෦MTA͔ΒϝʔϧϘοΫε΁ͷ഑ૹ • ֤υϝΠϯʹݸผͰ͸ͳ͘ڞ௨੍ͨ͠ݶ஋Λ੩తʹઃఆʢૹ৴ͱಉ༷ʣ • ֎෦MUA͔ΒϝʔϧϘοΫεͷσʔλΛड৴ • ֤υϝΠϯʹݸผͰ͸ͳ͘ڞ௨੍ͨ͠ݶ஋Λ੩తʹઃఆʢૹ৴ͱಉ༷ʣ • ݕࡧ΍ϦετͷͨΊͷIMAPίϚϯυʹΑΔϦιʔε઎༗ͷ੍ޚ͕ࠔ೉ • αʔόϦιʔεΛे෼ʹ࢖͍੾Δ͜ͱ͕೉͍͠ 9 Ծ૝υϝΠϯʹ͓͚Δड৴੍ޚઃఆͱ՝୊

Slide 10

Slide 10 text

• υϝΠϯ΍͓٬༷୯ҐͰαʔόϓϩηε΍Ծ૝؀ڥΛ্ཱͪ͛Δ • ϛυϧ΢ΣΞ΍ϓϩηε୯ҐͰݸผͷ๛෋ͳ੍ޚ͕ར༻Մೳ • υϝΠϯͷ਺ʹൺྫͯ͠αʔόϓϩηε܈͕૿Ճ͢ΔͨΊߴूੵԽ͕೉͍͠ • αʔόϓϩηε਺͕਺ेݸͰ͋ͬͯ΋υϝΠϯ͕਺ສͷ৔߹ɺϓϩηε਺ ͕਺ඦສݸʹ૿Ճ • inetd΍xinetdͷΑ͏ͳʮ઀ଓΫϥΠΞϯτ਺×αʔόϓϩηε܈਺ʯΛ ηογϣϯຖʹ౎౓ߦ͏ॲཧ΋ੑೳ΍Ϧιʔε໘Ͱޮ཰͕ѱ͍ 10 ߴूੵऩ༰ͱͷؔ܎ੑ

Slide 11

Slide 11 text

• αʔόϓϩηεΛෳ਺ͷυϝΠϯͰڞ༗͢Δํࣜ • ϓϩηεΛڞ༗͢ΔͨΊϝʔϧηογϣϯ୯ҐͰͷ੍ޚखஈ͕গͳ͍ • ߴूੵʹऩ༰Ͱ͖ͯ΋Ϧιʔεڝ߹ʹΑΔෆ҆ఆঢ়ଶ͕ੜ͡΍͍͢ • υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈ • ߴूੵʹऩ༰͕Ͱ͖ͳ͍ 11 ՝୊·ͱΊ

Slide 12

Slide 12 text

3. ఏҊख๏ͷઃܭͱ࣮ݧతͳ࣮૷Ҋ

Slide 13

Slide 13 text

• ߴूੵʹΞΧ΢ϯτɾυϝΠϯΛऩ༰Մೳʢ୯Ұͷαʔόʹ਺ສυϝΠϯʣ • CPU࿦ཧίΞ24ݸɺϝϞϦ32GBఔ౓ͷPCαʔόΛ૝ఆ • υϝΠϯ୯ҐͰݸผʹਫ਼៛ͰಈతͳϦιʔε੍ޚΛ࣮ݱ • Ұൠతͳϝʔϧϛυϧ΢ΣΞͷ੍ޚػೳΛυϝΠϯ୯Ґʹઃఆ͍ͨ͠ • εέʔϧΞοϓɾΞ΢τ/μ΢ϯɾΠϯʹΑΔϦιʔε૿ڧɾ੍ݶ΋Մೳ • ҟͳΔϋʔυ΢ΣΞ΁ͷಁաతͳҠಈ΋૝ఆ • υϝΠϯ୯ҐͰݸผʹਫ਼៛ͳηογϣϯ৘ใऩूʢࠓޙͷదԠత੍ޚʹܨ͛Δʣ 13 ࣮ݱ͍ͨ͜͠ͱɿ௿Ձ֨Խͱ҆ఆԽʹ޲͚ͯ

Slide 14

Slide 14 text

• υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈͤͭͭ͞ߴूੵԽΛ࣮ݱ͢Δج൫ • ηογϣϯ୯ҐͰҰఆظؒىಈ͠ɺঢ়ଶͷมԽʹૉૣ͘ରԠՄೳͳίϯ ςφΞʔΩςΫνϟΛԠ༻ → FastContainerΞʔΩςΫνϟ • υϝΠϯ୯ҐͰίϯςφΛىಈ͠ਫ਼៛ʹྲྀྔɾϦιʔε੍ޚ͕Մೳͳج൫ • ϛυϧ΢ΣΞͷ੍ݶશͯΛυϝΠϯʹରͯ͠ద༻Մೳ • ίϯςφʹΑΔϋʔυ΢ΣΞϦιʔε੍ޚΛυϝΠϯ୯ҐͰ࣮ࢪՄೳ • ίϯςφ୯ҐͰͷϦιʔεෆ଍࣌ʹ͸ߴ଎ʹεέʔϧΞ΢τՄೳ 14 ఏҊख๏ɿਫ਼៛ʹղੳՄೳͳ߃ৗੑͷ͋Δϝʔϧج൫

Slide 15

Slide 15 text

FastContainer: ߃ৗੑ͔ΒಘΒΕΔ҆ఆੑ 15 ϗετ" ϗετ" ϗετ" ϗετ" ϗετ" Πϯλʔωοτ ϗετ" ϗετ" ϗετ" ΍͕ͯఀࢭ ൓Ԡతʹىಈ ൓Ԡతʹ εέʔϧΞοϓ ऩ༰αʔόA ऩ༰αʔόB ϦΫΤετ ൓Ԡతʹ εέʔϧΞ΢τ • ϗετͷىಈͱఀࢭΛ॥؀ • ৗʹ॥؀͠ଓ͚ΔΞʔΩςΫνϟ • มԽ͠ଓ͚Δ͜ͱʹΑΔ҆ఆੑ ঢ়ଶͷมԽͷ଎౓վળΛ௥ٻ ৗʹมԽՄೳͰ͋ΔͨΊಥൃతͳΞ ΫηεूதͷΑ͏ͳมԽʹ΋଱ੑͷ ͋ΔΞʔΩςΫνϟΛ࣮ݱՄೳ

Slide 16

Slide 16 text

• ΞΫςΟϒͳηογϣϯͷΈ͕ίϯςφͱͯ͠ىಈ • ݸਓ޲͚ϗεςΟϯάαʔϏεͷΞΫςΟϒϢʔβ͕গͳ͍ࣄʹண໨ • SMTPͱIMAPͰ͸ηογϣϯ৘ใΛσʔλϕʔεʹอଘ • কདྷతʹ͸σʔλΛղੳͯ͠దԠతʹྲྀྔΛ੍ޚ͍ͨ͠ • ߏ੒৘ใ΍੍ޚઃఆ͸શͯσʔλϕʔεԽͯ͠ݸผ͔ͭಈతʹ੍ޚՄೳ • কདྷతʹ͸ϗετOS͕ఀࢭͯ͠΋ίϯςφ͕ࣗಈతʹผϗετʹҠಈՄೳ 16 FastContainerͱߴूੵऩ༰

Slide 17

Slide 17 text

ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ 17 *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51
 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB

Slide 18

Slide 18 text

ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ 18 *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51
 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB

Slide 19

Slide 19 text

ಉҰϗετ ϝʔϧج൫ͷSMTPૹ৴ϑϩʔৄࡉ 19 4.513PVUFS OHY@NSVCZ $.%#"1* 4.51ίϯςφ ʢυϝΠϯ୯Ґʣ 4.51ίϯςφ ʢυϝΠϯ୯Ґʣ 4.51ίϯςφ ʢυϝΠϯ୯Ґʣ 4.51'BTU$PO QFSEPNBJO 1PTUpY 4.510VU 1PTUpY 4.51'JMUFS 0VU 7JSVTHX .6" .5" 4.51 %JTQBUDIFS OHY@NSVCZ υϝΠϯʹج͖ͮ)551ܦ༝Ͱͷ ΞΧ΢ϯτɾυϝΠϯೝূͱϓϩ ΩγઌऔಘΛ࣮ࢪ ηογϣϯ৘ใ΋ऩू 4.51ίϯςφ͕ىಈ͍ͯ͠ͳ͚Ε͹ ϦΞΫςΟϒʹҰఆظؒىಈ σʔλऩूɾղੳͱߏ੒؅ཧ $PMMFDU 4FTTJPO%BUB 1NJMUFS

Slide 20

Slide 20 text

ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ 20 *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51
 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB

Slide 21

Slide 21 text

)PTU04 ϝʔϧج൫ͷSMTPड৴ϑϩʔৄࡉ 21 $.%#"1* *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ -.51'BT$PO QFSEPNBJO %PWFDPU 4.51*O 1PTUpY -.513PVUFS 1PTUpYNSVCZ 4.51'JMUFS*O 7JSVTHX .5" -.51 %JTQBUDIFS 1PTUpYNSVCZ .BJMEJS*OEFY 4UPSBHF 4.51 JOFU -.51 6%4 $PMMFDU 4FTTJPO%BUB 1NJMUFS 4.51 JOFU 4.51 JOFU

Slide 22

Slide 22 text

ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ 22 *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51
 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB

Slide 23

Slide 23 text

)PTU04 ϝʔϧج൫ͷIMAPड৴ϑϩʔৄࡉ 23 *."13PVUFS OHY@NSVCZ $.%#"1* .6" *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1'BT$PO QFSEPNBJO EPWFDPU *."1 %JTQBUDIFS OHY@NSVCZ .BJMEJS*OEFY 4UPSBHF *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ $POUSPM 3FTPVSDF NSVCZ *."1 JOFU *."1 JOFU %PWFDPU 1MVHJO σʔλऩूɾղੳͱߏ੒؅ཧ EPWFDPUNSVCZQMVHJO ίϚϯυ୯ҐͰ$16࢖༻཰౳Λ੍ݶ ηογϣϯ৘ใ΍ίϚϯυͷৼΔ෣͍౳Λ؅ཧ

Slide 24

Slide 24 text

4. ·ͱΊ

Slide 25

Slide 25 text

• ઃܭͱ࣮ݧత࣮૷͸׬ྃ • ϓϩτλΠϓ࣮૷Λߦͬͯ༗ޮੑͷධՁ • Ϧιʔεޮ཰΍ੑೳධՁ • ϓϩμΫγϣϯ؀ڥʹ͓͚ΔϦιʔε੍ޚͷ༗ޮੑΛධՁ • ηογϣϯσʔλͷղੳख๏ͷઃܭ • ηογϣϯσʔλʹجͮ͘υϝΠϯ୯ҐͰͷదԠతͳ੍ޚઃఆ • ϗετOSҟৗ࣌ʹผϗετʹಁաతʹίϯςφΛϚΠάϨʔγϣϯ 25 ·ͱΊͱࠓޙͷ՝୊

Slide 26

Slide 26 text

• ຊݚڀͰ࢖༻ͨ͠Ϋϥ΢υࢿݯ͸ɼฏ੒29೥౓ࠃཱ৘ใֶݚڀॴΫϥ΢υར ׆༻࣮ূ࣮ݧʹ͓͍ͯఏڙ͞Εͨɽ·ͨɼຊݚڀ͸ɼҎԼͷݚڀॿ੒Λड͚ͯ ͍Δɽ • দຊ྄հ,খా஌ԝ,ۙ౻Ӊஐ࿕,ּݪٛߊ,Ԭଜߞೋ,ౢ٢ོ෉,ۚࢠߊհ, mrubyΛར༻ͨܰ͠ྔίϯςφΫϥ΢υج൫ͷݚڀ։ൃΛհͨ͠mrubyͷ େن໛ɾߴෛՙςετ, 2017೥౓Ruby Association։ൃॿ੒, 2017೥10݄. 26 ँࣙ