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

100行あったmod_rewirteを ngx_mrubyで書き換えた話

100行あったmod_rewirteを ngx_mrubyで書き換えた話

第5回ペパボテックカンファレンス〜インフラエンジニア大特集〜 で発表した資料です
http://pepabo.connpass.com/event/30348/

buty4649

May 14, 2016
Tweet

More Decks by buty4649

Other Decks in Technology

Transcript

  1. GMO Pepabo, Inc.
    Yuki Koya
    2016/05/14 ୈ5ճϖύϘςοΫΧϯϑΝϨϯε
    ߦ͋ͬͨ[email protected]Λ
    [email protected]Ͱॻ͖׵͑ͨ࿩

    View Slide

  2. ࣗݾ঺հ
    ߴ୩༤و
    ͜͏΍Ώ͏͖
    ձࣾͰ͸ͬ͡ͺʔͱݺ͹Ε͍ͯΔ
    !CVUZ
    ೖࣾ೥ϲ݄
    ٕज़෦Πϯϑϥάϧʔϓ
    ओʹ+6(&.୲౰
    γχΞΤϯδχΞ

    View Slide

  3. +6(&.

    View Slide

  4. ͓࿳ͼ

    View Slide

  5. ߦ͋ͬͨ[email protected]Λ
    [email protected]Ͱॻ͖׵͑ͨ࿩

    View Slide

  6. ߦ͋ͬͨ[email protected]Λ
    [email protected]Ͱॻ͖׵͑ͨ࿩

    View Slide

  7. ݱঢ়ͷߏ੒ͱ໰୊

    View Slide

  8. +6(&.ͷશମߏ੒
    QPSUBM τοϓϖʔδ

    +(ηοτ Ϣʔβຖͷϒϩά

    8FCαʔόͱ%#αʔό NBTUFSTMBWF

    όον
    ಺෦ɺ֎෦࿈ܞ༻"1*
    ސ٬؅ཧ
    FUD

    View Slide

  9. 8FCαʔό աڈ

    Ω
    ϟ
    ο
    γ
    ϡ




    /HJOY
    "QBDIF
    Ωϟογϡίϯτϩʔϧ
    ϧʔςΟϯά
    "[email protected]
    1)1
    ʴ

    View Slide

  10. 8FCαʔό ݱࡏ

    Ω
    ϟ
    ο
    γ
    ϡ




    /HJOY
    "QBDIF
    Ωϟογϡίϯτϩʔϧ
    ϧʔςΟϯά
    1)1 QIQGQN

    View Slide

  11. ໰୊఺
    ϧʔςΟϯάͷ௥Ճ͕ࠔ೉
    [email protected]ϧʔϧͷσόοά
    ߏ੒͕΍΍ෳࡶ
    /HJOYͱ"QBDIF͕ಉډ
    "QBDIF͕ϘτϧωοΫ $,

    View Slide

  12. /HJOYʹ౷߹͠Α͏ͱͨ͠
    [email protected]෦෼Λ/HJOYͰॻ͖
    ׵͑Α͏ͱͨ͠
    ݁ՌߦΛ௒͑ΔDPOpHʹʜ
    JGจͷωετ͕Ͱ͖ͳ͍
    ม਺Λ࢖͍ٖࣅతʹ࠶ݱ
    ݁Ռ௕͘ͳΔ

    View Slide

  13. Ұ෦Λॻ͖׵͑ͨ
    "QBDIF /HJOY
    ߦ ߦ

    View Slide

  14. "QBDIFΛ/HJOY
    ʹஔ͖׵͑ͯ΋
    ݁ہϝϯςφϯε͕
    Ͱ͖ͳ͍ઃఆϑΝΠϧ
    ʹͳͬͯ͠·͏

    View Slide

  15. Ͳ͏ͨ͠΋ͷ͔

    View Slide

  16. ͦ͏ͩ[email protected]ͩʂʂ

    View Slide

  17. [email protected]ͱ͸
    !NBUVNPUPS͕։ൃͨ͠/HJOY༻
    ͷ֦ுϞδϡʔϧ
    NSVCZΛ࢖੍ͬͯޚ͕Ͱ͖Δ
    [email protected]

    View Slide

  18. [email protected]ͷಋೖ
    [email protected]ೖΓͷ/HJOYύοέʔδͷ
    ࡞੒͕ඞཁ
    %ZOBNJD.PEVMFඇରԠ
    NSVCZͷϏϧυ
    DPOpHVSFΦϓγϣϯ΁ͷ௥Ճ
    !ITCU͕࡞ͬͨ[email protected]
    CVJMEFSΛ࢖͏ͱศར
    [email protected]

    View Slide

  19. [email protected]ͷಋೖ
    +6(&.Ͱ͸͔Β΁
    όʔϯײΛग़͔ͨͬͨ͠
    ʹ΋ରԠ͍ͯ͠Δ͜ͱΛ஌Βͳ͔ͬͨ
    4VQQPSUFEOHJOY
    ಛʹେ͖ͳ໰୊͸Ͱͳ͔ͬͨ

    View Slide

  20. [email protected]ͷ࢖͍ํ
    OHJOYDPOGʹσΟϨΫςΟϒ͕૿͑Δ
    [email protected]@IBOEMFS
    [email protected]
    [email protected]
    BOENPSF
    [email protected]%JSFDUJWFT

    View Slide

  21. [email protected]ͷ࢖͍ํ
    DBDIFΛ຤ඌʹ෇͚ΔͱεΫϦϓτΛ
    Ωϟογϡ͢Δ
    ϝϞϦͷઅ໿࣮ߦ଎౓ͷ޲্
    σΟϨΫςΟϒ໊ͷαϑΟοΫεʹ
    @DPEFΛ͚ͭΔͱεΫϦϓτΛΠϯϥΠ
    ϯͰॻ͚Δ
    [email protected]@[email protected]

    View Slide

  22. [email protected]@IBOEMFS
    ίϯςϯπΛੜ੒͢Δ࣌ʹ࣮ߦ
    ʹΞΫηε͢ΔͱIFMMP͕ฦΔ

    View Slide

  23. [email protected]
    ىಈ࣌ʹ౓͚࣮ͩߦ
    ॳظԽॲཧͳͲΛߦͳ͏

    View Slide

  24. [email protected]
    εΫϦϓτͷ݁ՌΛม਺ʹ֨ೲ
    OHJOYDPOGͷதͰ࢖༻Ͱ͖Δ
    ͭͷϗετ͔Βϥϯ
    μϜͰܾఆ
    CBDLFOEʹ֨ೲ

    View Slide

  25. [email protected]Λ
    ॻ͖׵͑Δ

    View Slide

  26. ॻ͖׵͑Δಈ࡞
    ϦΫΤετ͕ FJEͰ͋Δ͔ʁ
    ΩϟογϡϑΝΠϧ͸͋Δ͔ʁ
    ྆ํΛຬͨͨ͠ΒΩϟογϡΛฦ͢
    Έͨ͞ͳ͚Ε͹1)1΁

    View Slide

  27. ஔ׵ޙͷOHJOYDPOG
    ΩϟογϡΛฦ͔͢Ͳ͏͔ΛNSVCZͰ൑ఆ

    View Slide

  28. NSVCZεΫϦϓτ
    ΫΤϦετϦϯάͷ൑ఆ
    ΩϟογϡϑΝΠϧͷ༗ແ

    View Slide

  29. [email protected]΁ஔ͖׵͑
    [email protected]Λ࢖ͬͯ[email protected]
    Λॻ͖׵͑Δ
    ஔ׵ޙ͸શମͰߦ͘Β͍
    ୹͘͢Δ͜ͱ͕໨తͰ͸ͳ͍
    ϝϯςφϒϧʹ͢Δ

    View Slide

  30. ςετίʔυ
    .JEEMFXBSFBTB$PEF
    SVCZͷίʔυ͕ॻ͚Δͱ͍͏͜ͱ͸
    ςετ΋ॻ͚Δ
    ςετ͕͋ΔͳΒ$*΋ճͤΔ

    View Slide

  31. ςετϥΠϒϥϦ
    JJKNSVCZNUFTUΛ࢖͏
    NSVCZͰςετΛߦͳ͏ͨΊͷNSCHFNT
    5FTU6OJUͬΆ͘ॻ͚Δ
    IUUQTHJUIVCDPNJJKNSVCZNUFTU

    View Slide

  32. όΠφϦͷ༻ҙ
    ຊ൪؀ڥ༻ͷNSVCZͱςετ؀ڥ༻
    ͷNSVCZͷόΠφϦΛ෼͚Δ
    ςετ؀ڥʹ͸NSVCZNUFTUΛ௥Ճ
    .5FTU͕ఆٛ͞ΕΔ

    View Slide

  33. ςετίʔυ
    ςετ؀ڥ
    ຊ൪؀ڥ
    ؀ڥΛ൑ఆ

    View Slide

  34. ςετίʔυ
    SBLFͷ࣮ߦ
    $*͕Ͱ͖ΔΑ͏ʹͳͬͨʂʂ

    View Slide

  35. ϋϚͬͨͱ͜Ζ

    View Slide

  36. ϋϚͬͨͱ͜Ζ
    OHJOYDPOGͰఆ͍ٛͯ͠ͳ͍ม਺ʹ
    /HJOY7BSTFU͢ΔͱΤϥʔ
    ʹͳΔ

    View Slide

  37. ϋϚͬͨͱ͜Ζ
    GPPม਺ʹCBSΛ୅ೖ͠Α͏ͱ͍ͯ͠Δ͕ɺ
    OHJOYDPOG಺ͰGPP͕ఆٛ͞Ε͍ͯͳ͍ͷͰ
    ΤϥʔͱͳΔ
    ରࡦ[email protected]Ͱࣄલʹఆ͓ٛͯ͘͠

    View Slide

  38. ϋϚͬͨͱ͜Ζ
    NSVCZͷεΫϦϓτΛͲ͜·Ͱ෼
    ׂ͢Ε͹Α͍͔Θ͔͍ͬͯͳ͍
    ͭʹ·ͱΊΔ͜ͱ΋Ͱ͖Δ͠ɺ෼
    ׂ͢Δ͜ͱ΋Ͱ͖Δ
    ͭʹ·ͱΊΔͱڊେʹͳΔ
    ෼ׂ͢Δͱ֤ϑΝΠϧʹఆ͕ٛॏෳ͢Δ

    View Slide

  39. ϋϚͬͨͱ͜Ζ
    MPDBUJPOͰ͔͠ఆٛͰ͖ͳ͍σΟϨ
    ΫςΟϒΛଞͰ΋ఆٛͰ͖Δ
    4ZOUBYΤϥʔʹͳΒͳ͍
    13͢ΔͷͰͦͷ͏ͪ௚Δ͸ͣ

    View Slide

  40. ONSCͷ͝঺հ
    [email protected]͸ಈ࡞֬ೝ͕େม
    OHJOYΛىಈͯ͠63-Λୟ͔ͳ͍ͱ֬ೝͰ͖ͳ͍
    $-*ͰϦΫΤετΛγϛϡϨʔτ
    ݱঢ়Ұ෦ͷػೳͷΈରԠ
    IUUQTHJUIVCDPNCVUZONSC

    View Slide

  41. ONSCͷ࣮ߦྫ
    FYFDαϒίϚϯυ
    Ҿ਺ʹεΫϦϓτͱ63-Λࢦఆ
    Α͠ͳʹ/HJOY3FRVFTUΛੜ੒
    UFTUSC
    ࣮ߦྫ

    View Slide

  42. ·ͱΊ

    View Slide

  43. ·ͱΊ
    [email protected]Λ࢖͏͜ͱͰϓϩάϥ
    Ϛϒϧʹઃఆ͕͔͚Δ
    ෳࡶͳϧʔϧ΋දݱͰ͖Δ
    ςετ͕͔͚ΔͷͰ$*͕ճͤΔ
    ༰қʹಋೖͰ͖Δ

    View Slide

  44. ࠓޙ
    ΞϓϦέʔγϣϯͰϧʔςΟϯά͠
    ͨ΄͏͕͍͍ͷ͔ͳʁ
    ϑϨʔϜϫʔΫͷಋೖ
    Πϯϑϥίʔυ͔Βͷ෼཭
    [email protected]ͷ··Ͱ΋͍͍͔΋ ೰Έத

    View Slide

  45. ͝੩ௌ͋Γ͕ͱ͏͝
    ͍͟·ͨ͠

    View Slide