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

PHPで学ぶCacheの距離の話

 PHPで学ぶCacheの距離の話

Cacheの距離について

Ryo Tomidokoro

October 31, 2018
Tweet

More Decks by Ryo Tomidokoro

Other Decks in Programming

Transcript

  1. PHPͰֶͿCacheͷڑ཭ͷ࿩
    1)1ษڧձ

    View Slide

  2. Cacheͱ͸ʁ

    View Slide

  3. Oxford Dictionary ΑΓ
    An auxilirary memory from which high speed retrieval is possible
    ߴ଎Ͱσʔλऔಘ͕Ͱ͖ΔهԱ૷ஔ

    View Slide

  4. WebΞϓϦͰͷར༻༻్
    ߴෛՙΫΤϦͷॲཧ݁Ռ
    ूܭॲཧͷ݁Ռ
    ϧʔςΟϯά
    ઃఆϑΝΠϧ
    CDNͱ͔ϒϥ΢βΩϟογϡ͸ɺࠓճ͸ର৅֎

    View Slide

  5. ࠓ೔࿩͢͜ͱ
    CacheͷޮՌΛࣄલʹ೺Ѳ͢Δ͜ͱ
    ΑΓߴ͍ޮՌΛಘΔͨΊͷCacheͷڑ཭ͷ࿩

    View Slide

  6. ࠓ೔࿩͞ͳ͍͜ͱ
    Cacheͷϛυϧ΢ΣΞ
    Cacheͷӡ༻
    ࢀߟ1 WebαʔϏεʹ͓͚ΔΩϟογϡઓུ
    https://speakerdeck.com/yusukebe/websabisuniokeru-kiyatusiyuzhan-lue
    ࢀߟ2 WebΞϓϦέʔγϣϯͷΩϟογϡઓུͱͦͷύλʔϯ
    https://speakerdeck.com/moznion/pattern-and-strategy-of-web-application-caching

    View Slide

  7. CacheͷޮՌΛࣄલʹ೺Ѳ͢Δ

    View Slide

  8. CacheΛ࢖͏͜ͱͰԿނ଎͘ͳΔͷ͔ʁ

    View Slide

  9. ྫ͑͹͜Μͳߏ੒

    View Slide

  10. ಉҰωοτϫʔΫ಺ͷDBͷΫΤϦ݁ՌΛCache
    ΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ
    5$1઀ଓ $16ԋࢉ %JTL*0
    MySQL
    +
    +

    View Slide

  11. 5$1઀ଓ $16ԋࢉ %JTL*0
    MySQL
    +
    +
    ΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ - RedisʹCache
    5$1઀ଓ .FNPSZ*0
    Redis
    +
    ಉҰωοτϫʔΫ಺ͷDBͷΫΤϦ݁ՌΛCache
    ΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ

    View Slide

  12. $16ԋࢉ %JTL*0
    MySQL
    +
    .FNPSZ*0
    Redis
    MemoryIOͷํ͕଎͚Ε͹ɺ଎౓޲্͕ݟࠐΊͦ͏

    View Slide

  13. ϨΠςϯγʔ
    https://gist.github.com/jboner/2841832

    View Slide

  14. ͔͠͠ɺ͋·Γ଎͘ͳΒͳ͍ύλʔϯ͕͋Δ

    View Slide

  15. DBͷσʔλ͕ϝϞϦʹ৐Δ৔߹
    ΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ
    5$1઀ଓ ΄΅.FNPSZ*0
    MySQL
    +
    ΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ - RedisʹCache
    5$1઀ଓ .FNPSZ*0
    Redis
    +

    View Slide

  16. DBͷσʔλ͕ϝϞϦʹ৐Δ৔߹
    ΄΅.FNPSZ*0
    MySQL
    .FNPSZ*0
    Redis
    Φʔμʔ͕มΘΔΑ͏ͳ଎౓޲্͸ݟࠐΊͳ͍

    View Slide

  17. ͜ΕҎ্ͷ଎౓޲্Λ͢Δʹ͸ʁʁ

    View Slide

  18. WebΞϓϦ͔ΒCache·Ͱͷڑ཭Λม͑Δ
    5$1઀ଓ .FNPSZ*0
    ͬͪ͜
    +

    View Slide

  19. WebΞϓϦ͔ΒCache·Ͱͷڑ཭Λม͑Δ
    5$1઀ଓ .FNPSZ*0
    ͬͪ͜
    +
    TCP઀ଓΛ΍ΊΔ -> ϩʔΧϧCache

    View Slide

  20. https://gist.github.com/jboner/2841832
    ϨΠςϯγʔ

    View Slide

  21. PHPͰϩʔΧϧCache
    ϩʔΧϧRedis, Memcached -> ਏ͍
    ϑΝΠϧ -> ͍͍͚Ͳ…
    APCu(ϝϞϦ) -> ྑͦ͞͏
    աڈͷऔΓ૊Έ - ແཧ΍ΓOPCache࢖͏Cache
    https://speakerdeck.com/hanhan1978/cachegasu-ifalsekaque-ren-suruhua

    View Slide

  22. PHPͷࣄ৘
    ϓϩηεͷಠཱੑ͕ߴ͍
    ॲཧऴྃޙʹϝϞϦ͸ΫϦΞ͞ΕΔ
    ϓϩηεؒͰͷϝϞϦڞ༗͕ग़དྷͳ͍ɻ
    PHP΢Σϒαʔόʔͷొ৔͕๬·ΕΔ

    View Slide

  23. ࣮ଌͯ͠Έͨ

    View Slide

  24. Trans/SecͱCacheํ๏
    ํ๏ USBOTTFD
    ϦϞʔτ.Z42-
    ϦϞʔτ3FEJT
    ϩʔΧϧ"1$V
    DBσʔλ͕ϝϞϦʹ৐͍ͬͯΔ৔߹ʹ͍ͭͯݕূ

    View Slide

  25. ·ͱΊ
    Latencyͷද͸͓֮͑ͯ͜͏Ͷ
    CacheʹΑΔվળݟࠐΈ͸ࣄલʹཱͯΔ
    ܭࢉྔ͚ͩ͡Όͳ͘ڑ཭΋ߟ͑Δ
    ͳ͓ɺCacheӡ༻͸পͰ͢….

    View Slide

  26. ͓͠·͍

    View Slide