Cacheの距離について
PHPͰֶͿCacheͷڑͷ1)1ษڧձ
View Slide
Cacheͱʁ
Oxford Dictionary ΑΓAn auxilirary memory from which high speed retrieval is possibleߴͰσʔλऔಘ͕Ͱ͖ΔهԱஔ
WebΞϓϦͰͷར༻༻్ߴෛՙΫΤϦͷॲཧ݁Ռूܭॲཧͷ݁ՌϧʔςΟϯάઃఆϑΝΠϧCDNͱ͔ϒϥβΩϟογϡɺࠓճର֎
ࠓ͢͜ͱCacheͷޮՌΛࣄલʹѲ͢Δ͜ͱΑΓߴ͍ޮՌΛಘΔͨΊͷCacheͷڑͷ
ࠓ͞ͳ͍͜ͱCacheͷϛυϧΣΞCacheͷӡ༻ࢀߟ1 WebαʔϏεʹ͓͚ΔΩϟογϡઓུhttps://speakerdeck.com/yusukebe/websabisuniokeru-kiyatusiyuzhan-lueࢀߟ2 WebΞϓϦέʔγϣϯͷΩϟογϡઓུͱͦͷύλʔϯhttps://speakerdeck.com/moznion/pattern-and-strategy-of-web-application-caching
CacheͷޮՌΛࣄલʹѲ͢Δ
CacheΛ͏͜ͱͰԿނ͘ͳΔͷ͔ʁ
ྫ͑͜Μͳߏ
ಉҰωοτϫʔΫͷDBͷΫΤϦ݁ՌΛCacheΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ5$1ଓ $16ԋࢉ %JTL*0MySQL++
5$1ଓ $16ԋࢉ %JTL*0MySQL++ΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ - RedisʹCache5$1ଓ .FNPSZ*0Redis+ಉҰωοτϫʔΫͷDBͷΫΤϦ݁ՌΛCacheΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ
$16ԋࢉ %JTL*0MySQL+.FNPSZ*0RedisMemoryIOͷํ͕͚Εɺ্͕ݟࠐΊͦ͏
ϨΠςϯγʔhttps://gist.github.com/jboner/2841832
͔͠͠ɺ͋·Γ͘ͳΒͳ͍ύλʔϯ͕͋Δ
DBͷσʔλ͕ϝϞϦʹΔ߹ΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ5$1ଓ ΄΅.FNPSZ*0MySQL+ΫΤϦ݁ՌΛಘΔ·Ͱͷ࣌ؒ - RedisʹCache5$1ଓ .FNPSZ*0Redis+
DBͷσʔλ͕ϝϞϦʹΔ߹΄΅.FNPSZ*0MySQL.FNPSZ*0RedisΦʔμʔ͕มΘΔΑ͏ͳ্ݟࠐΊͳ͍
͜ΕҎ্ͷ্Λ͢Δʹʁʁ
WebΞϓϦ͔ΒCache·ͰͷڑΛม͑Δ5$1ଓ .FNPSZ*0ͬͪ͜+
WebΞϓϦ͔ΒCache·ͰͷڑΛม͑Δ5$1ଓ .FNPSZ*0ͬͪ͜+TCPଓΛΊΔ -> ϩʔΧϧCache
https://gist.github.com/jboner/2841832ϨΠςϯγʔ
PHPͰϩʔΧϧCacheϩʔΧϧRedis, Memcached -> ਏ͍ϑΝΠϧ -> ͍͍͚Ͳ…APCu(ϝϞϦ) -> ྑͦ͞͏աڈͷऔΓΈ - ແཧΓOPCache͏Cachehttps://speakerdeck.com/hanhan1978/cachegasu-ifalsekaque-ren-suruhua
PHPͷࣄϓϩηεͷಠཱੑ͕ߴ͍ॲཧऴྃޙʹϝϞϦΫϦΞ͞ΕΔϓϩηεؒͰͷϝϞϦڞ༗͕ग़དྷͳ͍ɻPHPΣϒαʔόʔͷొ͕·ΕΔ
࣮ଌͯ͠Έͨ
Trans/SecͱCacheํ๏ํ๏ USBOTTFDϦϞʔτ.Z42- ϦϞʔτ3FEJT ϩʔΧϧ"1$V DBσʔλ͕ϝϞϦʹ͍ͬͯΔ߹ʹ͍ͭͯݕূ
·ͱΊLatencyͷද͓֮͑ͯ͜͏ͶCacheʹΑΔվળݟࠐΈࣄલʹཱͯΔܭࢉྔ͚ͩ͡Όͳ͘ڑߟ͑Δͳ͓ɺCacheӡ༻পͰ͢….
͓͠·͍