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

minne でのハイブリッドクラウド運用

shiro16
March 25, 2018

minne でのハイブリッドクラウド運用

minne でのハイブリッドクラウド運用と CM 対応での構成変更とパフォーマンス改善の話@Rails Developers Meetup 2018: Day 2

shiro16

March 25, 2018
Tweet

More Decks by shiro16

Other Decks in Technology

Transcript

  1. $.ରԠͰͷߏ੒มߋͱύϑΥʔϚϯεվળ
    ޙ౻རത(.01FQBCP *OD
    3BJMT%FWFMPQFST.FFUVQ%BZ
    NJOOFͰͷϋΠϒϦουΫϥ΢υӡ༻

    View Slide

  2. νʔϑςΫχΧϧϦʔυ
    5PTIJIJSP([email protected]
    NJOOFࣄۀ෦ˏ(.0ϖύϘ

    View Slide

  3. View Slide

  4. NJOOFͱ͸
    wΞϓϦ%-਺ສ
    w࡞Ո਺ສਓ
    wTFSWFS୆਺͸
    w3BJMT
    w3VCZ
    w"84/ZBI

    View Slide

  5. "84/ZBI

    View Slide

  6. /ZBI

    View Slide

  7. View Slide

  8. /ZBIͱ͸
    wϖύϘͷԾ૝Πϯϑϥج൫
    w0QFO4UBDLͰߏ੒
    w೥݄͔Βӡ༻։࢝
    wNJOOFͰ͸೥݄ࠒ͔Βར༻։࢝

    View Slide

  9. ͳͥ"84/ZBI

    View Slide

  10. "84/ZBIͷཧ༝ͱ͸
    w"84Λ࢖͏͜ͱʹͳͬͨܦҢ͸੒௕ΛՃ଎͢ΔNJOOFͷٕज़ج൫
    ઓུ!ITCUΛࢀর
    wίετ"84/ZBI
    w৴པੑ ಛʹσʔλετΞ
    "84/ZBI
    w3BJMT ଞ
    ͕ಈ͘TFSWFS͸/ZBI
    wσʔλετΞ͸"84

    View Slide

  11. O౓໨ͷ$.

    View Slide

  12. ͔Θ͍͍

    View Slide

  13. ۓٸটू͞ΕΔਓʑ

    View Slide

  14. $.ରԠͷۓٸটू
    wઈରʹམͱͨ͘͠ͳ͍ʂʂ̍
    wສ͕Ұམͪͯ΋଎ϦΧόϦ͍ͨ͠
    w౰࣌ͷΞΫηεͷഒΛࡹ͚ΔΑ͏ʹඋ͑Δ
    wࡢࠓ૿͍͑ͯΔ%%P4΁ͷඋ͑
    w࠷ۙ ׂͱͣͬͱʁ
    QVTI࣌ʹ3%4ͷ$16࢖༻཰

    View Slide

  15. View Slide

  16. %%P4΁ͷඋ͑

    View Slide

  17. $.ରԠલͷߏ੒ ؆ུਤ

    View Slide

  18. View Slide

  19. %%P4ରԠ
    w%%P4ͳͲͰ/ZBIΛӡ༻͍ͯ͠Δσʔληϯλʔ͕Ұ࣌తʹར༻Ͱ
    ͖ͳ͍ঢ়ଶʹͳͬͨࡍʹNJOOF΋ར༻Ͱ͖ͳ͍
    w࠷ѱσʔληϯλʔ͕ࢮΜͰ΋NJOOFΛར༻Ͱ͖ΔΑ͏ʹ"84ଆ
    Ͱ΋&$ΠϯελϯεΛىಈ͓͖ͯ͠ΞΫηεͰ͖ΔΑ͏ʹ͢Δ
    w$MPVE'SPOUΛར༻ͨ͠%%P4ରԠ

    View Slide

  20. $.ରԠޙͷߏ੒ ؆ུਤ

    View Slide

  21. View Slide

  22. $.ରԠޙͷߏ੒
    wϢʔβ͔ΒͷΞΫηε͸$MPVE'SPOUΛ௨͢͜ͱʹΑΓ"84
    4IJFME4UBOEBSEͰ%%P4๷ޚ
    w"84ଆʹ΋3BJMT͕ಈ͍͍ͯΔ&$ΠϯελϯεΛཱͯͨ
    wSPVUFʹΑͬͯ"84/ZBI΁ΞΫηεΛৼΓ෼͚Δ
    w/ZBIͷσʔληϯλʔʹো֐͕ى͖ͨ৔߹͸ɺ͢΂ͯͷΞΫηεΛ
    "84ଆʹ޲͚Δ͜ͱͰճආ
    w/ZBIଆͰΠϯελϯεΛ૿΍ͤΔ਺ʹݶք͕͋ͬͨͱ͍͏ࣄ৘΋

    View Slide

  23. %%P4ରԠ

    View Slide

  24. 3%4ͷύϑΥʔϚϯεվળ

    View Slide

  25. 3%4ͷ໰୊
    w3%4GPS.Z42-ͷ͓࿩
    wΠϯελϯεαΠζ͸SYMBSHF
    wࠓ·Ͱ͸ۚͰԥ͖ͬͯͨ
    w1VTI഑৴࣌ʹ$16࢖༻཰௒͑
    wॏͯ͘ܨ͕Βͳ͍͜ͱ΋

    View Slide

  26. View Slide

  27. 1VTI࣌ͷରԠ

    View Slide

  28. 1VTI࣌ͷରԠ
    wJ04ͷ1VTIͷ࣌ͷΈ$16࢖༻཰͕ΞήΞή
    wϢʔβ਺Ͱ͸J04"OESPJE
    w4MPX2VFSZΛݟͯ΋$16࢖༻཰্͕͕ͬͨ͋ͱ͸ؔ܎ͳ͍2VFSZ
    ΋-PHʹग़ͪΌ͏໰୊
    w྆04Ͱͷ1VTI࣌ͷ"1*΁ͷΞΫηε܏޲ͷҧ͍ΛݟͯΈΔ

    View Slide

  29. CJHGPPUΛ࢖͏

    View Slide

  30. CJHGPPUͱ͸
    wϖύϘͷϩάج൫
    wόοΫΤϯυʹ5SFBTVSF%BUBΛར༻͍ͯ͠Δ
    wΞΫηεϨίʔυʹͳΔΑ͏ʹQBSBNT౳ͷ஋Λૹ͍ͬͯΔ
    wৄ͘͠͸αʔϏεʹدΓఴ͏ϩάج൫Λࢀর

    View Slide

  31. ΫΤϦΛॻ͍ͯௐ΂ͨ݁Ռ

    View Slide

  32. SELECT
    COUNT(1) AS cnt, params_controller, params_action
    FROM minne_activity
    WHERE TD_TIME_RANGE(
    time, "2017-10-18 20:00:00", "2017-10-18 20:06:00", 'JST'
    )
    GROUP BY params_controller, params_action
    ORDER BY cnt DESC;

    View Slide

  33. ݪҼ͕൑໌
    wJ04Ͱ͸ಛఆͷ"1*ͷΈଞͷ"1*ͷ਺ഒͷΞΫηε͕͋ͬͨ
    w/ͷΑ͏ͳঢ়ଶͰ"1*ΛDBMM͍ͯͨ͠
    wJ04ͷվम΋ߟ͕͑ͨɺΞΫηε਺͕ݱঢ়ͷ਺ेഒʹͳͬͨΒ݁ہಉ
    ݁͡ՌʹͳΔͷͰ"1*ଆͰରԠ
    w֘౰ͷ"1*ͷΫΤϦ͸࣮ߦܭը͸ྑ޷ͳͷͰDBDIFΛ࢖͏

    View Slide

  34. DBDIF͢Δ
    Rails.cache.fetch(cache_key, expires_in: 1.minutes) do
    @curation.products.includes(:hogehoge).page(params[:page]).per(20)
    end
    [email protected]͸QBSBNTͷ஋͔Βੜ੒
    w࡞඼ͷ৘ใʹ͸ࡏݿ਺ͳͲ΋ؚ·ΕΔͨΊ͋Δఔ౓৽઱ͳσʔλ͕ཉ
    ͍͠ͷͰNJOVUFͰDBDIF͕੾ΕΔΑ͏ʹઃఆͨ͠

    View Slide

  35. ݁Ռ

    View Slide

  36. View Slide

  37. View Slide

  38. ͜ΕͰ$.४උόονϦʂʂ̍

    View Slide

  39. ͬͯࢥ͏͡Όͳ͍Ͱ͔͢

    View Slide

  40. ਺೔ޙ
    w1VTI഑৴௚ޙͰ͸ͳ͍ͷʹ3%4ͷ$16࢖༻཰͕ര্͛
    wݪҼ͸ϘτϧωοΫΛղফͨ͜͠ͱʹΑΓϢʔβͷߦಈ͕มԽ͠ผͷ
    ϘτϧωοΫ͕ු͖ூΓʹ ͋Δ͋Δ

    wॏ͘ͳΔݪҼΛ࡞ͬͨΫΤϦΛಛఆͨ͠Β࣮ߦܭը࠷ѱͱ͍͏ײ͡
    wͦͷଞʹ΋ଟ਺ͷ࣮ߦܭըͷѱ͍ΫΤϦ͕
    wۚͰԥ͖ͬͯͨπέ͕

    View Slide

  41. ۪௚ʹվળ͢Δ͔͠ͳ͍Ͷ

    View Slide

  42. ΫΤϦվળ
    wTMPXMPHͷग़ྗΛߦ͏ ݩʑग़ྗ͸͍ͯͨ͠

    wFYQMBJOΛ࢖࣮ͬͯߦܭըͷ֬ೝ
    wFYQMBJOͰ΋໰୊఺͕Α͘Θ͔Βͳ͍৔߹͸ϓϩϑΝΠϥʔ΋࢖͏

    View Slide

  43. &YQMBJO

    View Slide

  44. &YQMBJO
    wΫΤϦͷ࣮ߦܭըͷ֬ೝ͕Ͱ͖Δ
    wGPSNBUKTPOΛࢦఆ͢Δͱ৘ใ͕૿͑Δ
    wUZQF"--ͱ͔ग़ͯΔͱਏ͍
    w&YUSBʹ6TJOHpMFTPSUUFNQPSBSZͱ͔ग़ͯΔͱਏ͍
    w݁ՌΛݩʹ༗ޮͦ͏ͳJOEFYͷ௥ՃΛߦ͏
    wద੾ʹJOEFY͕࢖ΘΕͳ͍৔߹͸64&*/%&9ߏจͰڧ੍͢Δ

    View Slide

  45. ϓϩϑΝΠϥʔ

    View Slide

  46. ϓϩϑΝΠϥʔ
    wΫΤϦͷͲͷஈ֊ͷॲཧʹͲͷ͘Β͍ͷ͕͔͔͍࣌ؒͬͯΔ͔ʁΛݟ
    Δ͜ͱ͕Ͱ͖Δɻ
    w&YQMBJOͰ͸໰୊͕ͳͦ͞͏ͳΫΤϦͷ໰୊Λݟ͚ͭΕΔՄೳੑ͕͋
    Δ
    w&YQMBJOͰ͸Θ͔Βͳ͍αʔόͷύϥϝʔλͷௐ੔͕ඞཁ͔΋ʁ͕Θ
    ͔Δ͔΋͠Εͳ͍

    View Slide

  47. ͜ΕΒΛۦ࢖͠վળΛॏͶͨ݁Ռ

    View Slide

  48. վળ݁Ռ
    w$16࢖༻཰͕Λ௒͑ͳ͘ͳͬͨ
    w1VTI഑৴࣌ʹॏ͘ͳΔ͜ͱ΋ͳ͘ͳͬͨ
    wٸʹߴෛՙʹͳΔ͜ͱ΋ͳ͘ͳͬͨ
    wSYMBSHF࢖͏ҙຯͳ͍ͷͰ͸

    View Slide

  49. ಉ͡ঢ়گʹͳΒͳ͍ҝʹ
    w௨஌Λ༗ޮ׆༻͢Δ ࠓͰ͸௨஌͕͕͋ͬͨجຊεϧʔ

    wࠓճͷ݅Λड͚ͯҰ෦ͷϝϯόʔͷҙ͕ࣝมΘͬͯ஫ࢹͯ͘͠ΕΔΑ
    ͏ʹͳͬͨ
    wσʔλྔʹΑͬͯ΋࣮ߦܭը͸มΘͬͯ͘ΔͷͰϩάΛऩू͍͍ͯ͠
    ײ͡ʹ͍͖͍ͯͨ͠
    w࢖ΘΕͯͳ͍JOEFY΋੔ཧ͍͖͍ͯͨ͠

    View Slide

  50. ͞Βʹඋ͑Δ

    View Slide

  51. ͞ΒͳΔରԠ
    w͓ͦΒ͘͜ΕͰେৎ෉͕ͩ࠷ѱͷঢ়گΛؑΈͯ४උ͢Δ
    wNJOOF͸NBTUFS୆TMBWF୆ ूܭΫΤϦ༻

    wNBTUFS୆Ͱ͸Ͳ͏͠Α͏΋ͳ͍ͱ͍͏ঢ়گʹͳͬͨࡍʹεέʔϧ
    Ͱ͖ΔΑ͏ʹ४උ͓ͯ͘͠
    wNBTUFS୆TMBWF୆ 3BJMT༻
    TMBWF୆ ूܭΫΤϦ༻
    ͘
    Β͍͕ཧ૝

    View Slide

  52. PDUPQVTΛ࢖͏
    wTXJUDIQPJOU΋ݕ౼ͨ͠
    w४උظ͕ؒिؒఔ౓ͱ͍͏ظؒͱ͍͏੍໿͕͋ΔͷͰಋೖܦݧ͕
    ͋ΔPDUPQVTΛબ୒
    w୆Ͱ͸Ͳ͏͠Α͏΋ͳ͘ͳͬͨ࣌Λ૝ఆͯ͠TMBWFΛཱ࣮ͯͯࡍʹ
    ຊ൪ͰͦͪΒʹΫΤϦΛྲྀ͢ͱ͍͏ͱ͜·ͰૉৼΓͨ͠
    w$.࣌͸PDUPQVTΛ࢖͕ͬͨݱࡏ͸TXJUDIQPJOUΛ࢖͍ͬͯΔ

    View Slide

  53. ͦͷଞͷ$.ରԠ
    w"NB[PO"VSPSB΋બ୒ࢶͱͯ͠͸͋ͬͨͷͰݕূΛߦ͍࣮ࡍʹࢀর
    ΫΤϦΛྲྀ͢ͱ͍͏͜ͱ͸΍ͬͯΈͨɻ
    w͔͠͠ظ଴͍ͯͨ͠ύϑΥʔϚϯεվળ͕ݟΒΕͳ͔ͬͨ
    w"-#Ͱ"84/ZBIؒͷΞΫηεΛॠ࣌ʹৼΓ෼͚ΒΕΔ͔ͷݕূ
    w1&3$0/"UPPMLJUͷQULJMMͷಋೖͷݕ౼

    View Slide

  54. ͦΜͳ͜ΜͳͰ͍͟$.։࢝

    View Slide

  55. ݁Ռ͔Β͍͏ͱ

    View Slide

  56. શ͘མͪͳ͔ͬͨ

    View Slide

  57. $.։͔࢝Βऴྃ·Ͱͷঢ়گ
    wશ͘མͪͳ͔ͬͨ
    w3%4ͷ$16࢖༻཰΋௿ۭඈߦ
    wTMBWFʹΫΤϦΛྲྀ͢४උ͸ग़དྷ͍͕࣮ͯͨࡍʹTMBWFTFSWFSΛཱ
    ͯͯΫΤϦΛྲྀ͢ͱ͍͏͜ͱ͸ͳ͔ͬͨ
    w%%P4΋ͳ͘ฏ࿨ʹաͤͨ͝

    View Slide

  58. ·ͱΊ

    View Slide

  59. ·ͱΊ
    w"84/ZBIͷϋΠϒϦουΫϥ΢υͷཧ༝͸ίετͱ৴པੑͱݎ
    ࿚ͳγεςϜΛ࡞Δҝ
    wϚΠΫϩαʔϏεԽΛਐΊ͍ͯΔͷͰ3%4͕ඞཁͱ͍͏৔໘΋ݮΔ
    ͔΋͠Εͳ͍
    wߴෛՙͷݪҼΛ஌Δҝʹ͸ߦಈϩάͷ׆༻Λߦ͏ͷ΋Ұͭͷखஈ
    wΫΤϦͷνϡʔχϯά͸େࣄO౓໨
    wۚͰԥΓଓ͚Δͷྑ͘ͳ͍ʂ

    View Slide