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

たいへーん! とつぜん大規模サイトを作ることになった! 複数サーバ対応プラグインの紹介

たいへーん! とつぜん大規模サイトを作ることになった! 複数サーバ対応プラグインの紹介

WordPressで大規模なメディアサイトを作ることになった新米フリーランスの元OLがどうやって立ち向かっていくかという話題です。

Takahashi Fumiki

March 28, 2017
Tweet

More Decks by Takahashi Fumiki

Other Decks in How-to & DIY

Transcript

  1. ͍ͨ΁ʔΜʂ
    ͱͭͥΜେن໛αΠτΛ࡞Δ͜ͱʹͳͬͨʂ
    ෳ਺αʔόରԠϓϥάΠϯͷ঺հ
    WordBench Tokyo 2017/03
    (C) Takahashi Fumiki

    View full-size slide

  2. ୭ʁ
    • ߴڮจथͰ͢ɻ
    • খઆՈͰ͢ɻ
    • ഁ໓೿୅දऔక໾
    • WordCamp౦ژ

    ڈ೥ͷҕһ௕
    • ϓϥάΠϯ࡞ऀ

    View full-size slide

  3. ઃఆ
    ϑϦʔϥϯεͱͯ͠ಠ
    ཱ͔ͯ͠Β೥ɻ8PSE1SFTT
    ͷαΠτΛ࡞Δ͓࢓ࣄ΋
    ׳Ε͖ͯͨΘ

    View full-size slide

  4. ͋Δ೔……
    ͑ͬɺ͋ͷ༗໊ϝσΟ
    ΞαΠτ͔Βґཔʁ
    ΁ʔɺ8PSE1SFTTͳΜͩ
    ͜Ε͸νϟϯε͔΋ʂʁ

    View full-size slide

  5. ཁ݅
    • ݄ؒPV͸3,000ສɺίϯςϯπ͸10ສ
    ݅΄Ͳ
    • αʔόΛมߋͯ͠΄͍͠
    • ΞΫηε͕Ұ൪ଟ͍ͷ͸Πϕϯτ͕͋
    Δ8݄
    • ೖߘը໘ͷΧελϚΠζ͕͕ͬͭΓ͋
    Δ

    View full-size slide

  6. ϐϯν
    Ͳ͏͠Α͏ʜʜ

    View full-size slide

  7. େن໛αΠτͷཁ݅
    • ΄ͱΜͲෛՙରࡦ͚ͩ
    • ϨϯλϧαʔόʔͰ࢖͍ͬͯΔ
    WordPressͱಉ͡Α͏ʹಈ͘ͱϕετ
    • ʮෛՙͷߴ͞ʯͱʮσʔλͷଟ͞ʯʹ
    ஫ҙ͢Ε͹େৎ෉

    View full-size slide

  8. ී௨ʹ࢖͑Δ΍ͭ
    • Image WidgetΈ͍ͨͳɺγϯϓϧͳ΋
    ͷ
    • ΞϨόϯευΧελϜͳΜͪΌΒΈͨ
    ͍ͳೖߘը໘ΛΧελϚΠζ͢Δ΍ͭ

    View full-size slide

  9. ࢖͑ͳ͍Մೳੑ͕͋Δ
    • Search RegexΈ͍ͨͳσʔλϕʔεʹ
    ର͢ΔҰׅॲཧΛߦ͏΍ͭ
    • Search EverythingΈ͍ͨͳݕࡧܥ
    ςετ؀ڥͩͱಈ͘ͷͰ஫ҙʂ

    View full-size slide

  10. ෳ਺୆ߏ੒
    • MemcachedαʔόΛཱͯͯɺObject
    CacheͳͲΛͦ͜ʹอଘ
    • Webαʔό͸ϩʔυόϥϯαʔͷ഑Լ
    ʹஔ͖ɺ౳Ձʹѻ͏
    • NFSʹWordPressΛ·Δ͝ͱ഑ஔͯ͠ɺ
    ͢΂ͯͷWebαʔό͕ͦΕΛࢀর

    View full-size slide

  11. • DB͸ෳ਺୆ߏ੒ʹ͢Δ৔߹ɺϚελʔ-
    εϨʔϒܕͷΫϥελʹͳΔ
    • NFS͸৑௕Խ͠ͳ͍ͱSPOFʢ୯Ұো֐
    ఺ʣʹͳΔͷͰ஫ҙ
    • CDN͸Ͱ͖Ε͹͋ͬͨ΄͏͕͍͍

    View full-size slide

  12. AWS͋Δ͋Δ
    • Elastic File System͸͍ͭ࢖͑ΔΑ͏ʹ
    ͳΔͷʁɹͳΒͳ͍ͷʁ
    • Auto Scaling͕ؒʹ߹Θͳ͍ʢεύΠΫ
    ͨ͠Β΋͏஗͍ʣ
    • సૹྔ͕ҙ֎ͱߴ͍
    • CPUΫϨδοτͱ͍͏ڪΖ͍֓͠೦

    View full-size slide

  13. େن໛αΠτͷ
    ͓໾ཱͪϓϥάΠϯ

    View full-size slide

  14. Memcached Object
    Cache
    • Object CacheͷอଘઌΛMemcachedʹ
    ͯ͘͠ΕΔ
    • Memcachedͱͯ͠Elastic CacheΛ࢖͏
    ͱḿΔ
    • ࣮͸υϩοϓΠϯ

    View full-size slide

  15. BatCache
    • ϖʔδΩϟογϡϓϥάΠϯ
    • Object CacheΛΩϟογϡͷอଘઌʹ
    ࢖͏
    • αʔό͕Կ୆૿͑ͯ΋େৎ෉

    View full-size slide

  16. HyperDb
    • ෳ਺ͷMySQLαʔόʹରͯ͠ɺͲΕ͕
    εϨʔϒͰͲΕ͕Ϛελʔ͔Λ൑ผ
    • 1೥ͪΐ͍ͷؒɺutb8mb4(WP4.4Ҏ߱)
    ʹରԠͯ͠ͳ͔ͬͨͷͰ࢖͑ͳ͔ͬͨ
    ͕ɺରԠͨͬ͠Ά͍
    • ࠓޙ͸ඍົͳؾ͕͢Δʢݸਓͷײ૝ʣ

    View full-size slide

  17. Nephila clavata
    • ը૾ϑΝΠϧΛS3ʹ্͛ͯ͘ΕΔͷ
    ͰɺCDNΛಋೖ͍ͯ͠ͳ͍৔߹͸ָν
    ϯ

    View full-size slide

  18. WP-CLI
    • ϓϥάΠϯͰ͸ͳ͍
    • σʔλྔ͕ଟ͍αΠτͷ৔߹ɺόον
    ॲཧతͳ΋ͷ͸͚͜Δ͜ͱ͕ଟ͍ͷͰɺ
    ͦ͏͍͏৔߹͸ίϚϯυϥΠϯͰ
    • ΩϟογϡͰؾ͕ڰ͍ͦ͏ʹͳͬͨΒ
    wp cache flush

    View full-size slide

  19. େن໛͋Δ͋Δ

    View full-size slide

  20. ॏཁͳϞϊΛফ͢
    • αʔό͕ଟ͗ͯ͢ɺ໎
    ࢠʹͳΔ
    • σʔλϕʔεΛؒҧ͑
    ͯফͯ͠͠·͏
    • IPΞυϨεΛมߋ

    View full-size slide

  21. αΠτ͕མͪΔ
    • ༧ଌෆՄೳͳλΠϛϯ
    άͰ΋ͷ͍͢͝ࣄ͕݅
    ى͖ΔͱɺͲ͏͠Α͏
    ΋ͳ͍ঢ়گʹͳΔ
    • ͍͍ͩͨٳ೔ɾૣேͩͬ
    ͨΓ͢Δ

    View full-size slide

  22. ͓ΘΓ
    ϐϯν͸νϟϯεʂ
    ը૾ఏڙɾ͍Β͢ͱ΍

    View full-size slide

  23. • ionicͱWP REST APIͰϞόΠϧΞϓϦ
    Λ࡞Δษڧձ(wpionic.tokyoͱ͔ʁ)
    • ϓϥάΠϯ·ͨ͸ςʔϚͰ͓ۚṶ͚Λ
    ͢Δษڧձʢ$100M Babiesͱ͔ʁʣ
    • ຑ੃Λ͢Δษڧձ

    View full-size slide