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 Slide

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

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

    View Slide

  3. View Slide

  4. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  9. ઓུ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  13. αʔόߏ੒

    View Slide

  14. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  24. େن໛͋Δ͋Δ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  28. એ఻

    View Slide

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

    View Slide