#cdn_study 発表資料 (2018/4/13)
'BTUMZͷϓϩάϥϚ͔Βݟͨ$%/Ԟ Ұึ݄
View Slide
• ۀͷ$%/• ਓͷैۀһ• ੈք̓ϲॴʹΦϑΟε• 5CQTͷόϯυ෯'BTUMZͱ
• ݄ೖࣾ• 1SJODJQBM044&OHJOFFS– )551 5-4 26*$࣮ʮ)0ʯͷ։ൃ– ͦΕΒϓϩτίϧͷඪ४Խ׆ಈʹࢀՃࣗݾհ
ຊ͓͢Δ༰$%/ͷதͷΤϯδχΞ͔ΒݟͨݸਓతҙݟͰ͋Γɺࣾͱͯ͠ͷݟղΛࣔ͢ͷͰ͋Γ·ͤΜ͓͜ͱΘΓ
• 'BTUMZͷ101ઃܭ• શੈքతͳࢄ,74• &EHF$MPVE• ΠϯλʔωοτͷਐԽͱ$%/ΞδΣϯμ
'BTUMZͷ101ઃܭ
$%/ʹΩϟογϡͤͨ͞΄͏͕͍$%/ʹΩϟογϡͤͨ͞΄͏͕͍҆ˣΩϟογϡώοτΛߴΊ͍ͨ$%/Λ͏ཧ༝
IUUQTXXXGBTUMZDPNOFUXPSLNBQ101T
• ίϯϏχϞσϧ– Ϣʔβͷۙ͘ʹͨ͘͞Μͷ101– ϝϦοτϨΠςϯγ• εʔύʔϚʔέοτϞσϧ– *9ͷۙ͘ʹڊେͳ101– ϝϦοτΩϟογϡώοτߴ̎छྨͷϞσϧ
• Ωϟογϡώοτ͠ͳ͍ͳΒϨΠςϯγΛΔҙຯ͕ͳ͍• NTϨΠςϯγ͕૿͑Δͱͯ͠ɺώοτͷߴ͍ڊେͳ101Λஔ͖͢ˣڊେͳ101ͳΒͰͷٕज़త՝ͱ'BTUMZεʔύʔϚέοτϞσϧ
• 101ຖͷΩϟύγςΟ ྫ– ࠷େ5CQTΫϥεͷωοτϫʔΫ• .314– ͷαʔόΫϥελ• (#ϝϞϦ• 5#44%• νϟϨϯδίετͱߴՄ༻ੑ'BTUMZͷ101
ϧʔςΟϯά
IUUQTXXXGBTUMZDPNCMPHCVJMEJOHBOETDBMJOHGBTUMZOFUXPSLQBSUGJHIUJOHGJCϧʔλϨεɾϧʔςΟϯά
ϩʔυόϥϯαL2SWL/BServer BServer A Server C
εςʔτϨεɾϩʔυόϥϯεL2SWServer BServer A Server CECMP (hash(ip:port))
εςʔτϨεɾϩʔυόϥϯεL2SWServer BServer A Server CECMP (hash(ip:port))IUUQTXXXGBTUMZDPNCMPHCVJMEJOHBOETDBMJOHGBTUMZOFUXPSLQBSUCBMBODJOHSFRVFTUT
• ཁ݅– ΫϥελͰ࠷̎ϊʔυ͕ॻࠐ– ฏۉXSJUFTTFDɾTFSWFS• )551Ϩεϙϯεͷ͕Ωϟογϡߋ৽ͱԾఆ• ॻ͖ࠐΈ୯Ґʹ)551Ϩεϙϯε ൺֱతେ• 44%ͷ– ॻࠐϨΠςϯγ– ΣΞϨϕϦϯά44%Ωϟογϡ
• ղܾࡦ– ಠࣗϑΝΠϧγεςϜ– Ұൠతͳ GTΑΓ؇͍Ұ؏ੑཁ݅– 44%ͷಛੑʢྫϒϩοΫαΠζʣʹ࠷దԽ44%Ωϟογϡ
• ϧʔςΟϯά• 5$1ͷνϡʔχϯά– ੍ޚɺ*/*5$8/%• ܧଓతͳϞχλϦϯάͱϑΟʔυόοΫ– ੈք֤ʹϞχλϦϯάϊʔυωοτϫʔΫͷࢹͱνϡʔχϯά
ߴͳ)551࣮
• 'BTUMZͷ101ͷಛ– εʔύʔϚʔέοτϞσϧʢߴώοτʣ– ΧελϜιϑτΣΞʹΑΓ– ߴՁͳઐ༻ϋʔυΣΞΛ༻͍ͣʹ– ߴՄ༻ੑͱߴޮੑΛ࣮ݱ• ϧʔςΟϯά• ϩʔυόϥϯε• ϑΝΠϧγεςϜ• ܧଓతͳࢹ– 5$1 5-4 )551Ϩϕϧͷνϡʔχϯά·ͱΊ
શੈքతͳࢄ,74
• 7BSOJTI$POUSPM-BOHVBHF 7$-– )551ϦΫΤετͷॲཧΛΧελϚΠζ͢Δϓϩάϥϛϯάݴޠsub vcl_miss {if (req.http.User-Agent ~ "Googlebot") {set req.backend = F_special_google_backend;}return(fetch);}ϓϩάϥϜՄೳͳ$%/
• ϦΫΤετͷϧʔςΟϯά• ϦΫΤετͷॻ• Ϩεϙϯεϔομͷॻ• ϦΫΤετͷ࠶ૹʢճ੍ݶ͋Γʣ• ʜ7$-ͰͰ͖Δ͜ͱ
• 63-Λࢦఆͯ͠ͷύʔδ• αϩήʔτɾΩʔΛࢦఆͯ͠ͷύʔδ– ಛఆͷΩʔ͕͍ͭͨΩϟογϡΛ·ͱΊͯύʔδHTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 1234Surrogate-Key: mainpage template-a…Πϯελϯτɾύʔδ
• ϓϩάϥϜՄೳͳ$%/• 63-Ͱࢀর͠ɺΩϟογϡ– ϦΫΤετॻʹΑΓҙͷΩʔͰࢀরՄೳ• ҙͷλΠϛϯάɾཻͰύʔδશੈքతͳࢄ,74
4IJFMEJOHOriginNRT POPLHR POPSFO POP ITM POP
• ٕज़ཁૉ– େ༰ྔͷΩϟογϡ– Πϯελϯτɾύʔδ– 4IJFMEJOHۃΊͯߴ͍ΩϟογϡΛ࣮ݱՄೳ
&EHF$MPVE
• 8FC"QQMJDBUJPO'JSFXBMM– σϑΥϧτʴΧελϚΠζՄೳͳϧʔϧ• %%P4– $%/ωοτϫʔΫ༰ྔ͕େ͖͍• খ͞ͳ%%P4ʹͳΒͳ͍– %%P4ʹରԠ͢Δઐ༻ͷ4JOL߈ܸରࡦ
• ը૾ͷαΠζɺ࣭ɺѹॖํࣜΛΫϥΠΞϯτຖʹ࠷దԽը૾࠷దԽ
......…...…...…&EHF4JEF*ODMVEFT
ϚΠΫϩαʔϏε߹ ೝূIUUQTTQFBLFSEFDLDPNSZZTENJDSPTFSWJDFTPOGBTUMZ
ΠϯλʔωοτͷਐԽͱ$%/
• 5$1• Σϒੜ• )551• 5-4• )551• 5-4 ࣮࣭ 5-4• 26*$ ࣮࣭ 5$1Πϯλʔωοτϓϩτίϧͷྺ࢙
• ϓϩτίϧ্ͷ੍ݶ͕ϘτϧωοΫʹ• εϚʔτϑΥϯͷීٴ• $%/ͷຄڵ– ϓϩτίϧਐԽʹΫϥΠΞϯτ։ൃऀͱαʔό։ൃऀͷ߹ҙ͕ඞཁ– αʔό։ൃʹࢿ͢Δ৫ʹ$%/• εϊʔσϯࣄ݅ ͳͥࠓͳͷ͔ r ͍͔ͭ͘ͷཧ༝
• શͯͷ௨৴Λ҉߸Խ– ϓϥΠόγʔอޢͱߗԽରࡦͷཱ྆• ΑΓਝͳηοτΞοϓ– 355 1VTI &BSMZ)JOUT• ωοτϫʔΫΛ·͍ͨͰ్Εͳ͍௨৴– ଓͷϋϯυΦʔόʔͱϚϧνύεରԠ• ྼѱͳڥԼͰ೪Γڧ͘– ϔουΦϒϥΠϯϒϩοΩϯάͷղܾɺલํΤϥʔగਖ਼ϓϩτίϧਐԽͷํੑ
• %/4PWFS)5514– %/4ΫΤϦͷԠ$%/͔ΒɺηΩϡΞʹ• &BSMZ)JOUT$BDIF%JHFTUTGPS)– ΦϦδϯͷॲཧதʹ$%/͔ΒΞηοτΛ৴• 4FSWFS5JNJOH– ϦΫΤετड৴ɺϨεϙϯεੜɺ৴λΠϛϯάΛ+4Ͱऔಘ• 4FDPOEBSZ$FSUJGJDBUFT– ̍ຊͷ5-4ଓͰෳͷূ໌ॻΛ༻• 4IPSU5FSN$FSUT%FMFHBUFE$SFET– ൿີݤ࿙ӮͷӨڹΛ੍ݶ ݕӾରࡦؚΉ• 7BSJBOUT– 7BSZͷΩϟογϡരൃΛղܾ$%/ʹಛʹؔͷ͋Δϓϩτίϧ֦ு
26*$
26*$IUUQTXXXJFUGPSHQSPDFFEJOHTTMJEFTTMJEFTRVJDQEG
• ʙ355Ͱͷଓཱ֬• ϔουΦϒϥΠϯϒϩοΩϯάͷղܾ• ωοτϫʔΫΛ·͍ͨͰ్Εͳ͍• ΑΓྑ͍ϓϥΠόγʔอޢ• ਐԽΛଓ͚Δ௨৴ϓϩτίϧ– ΧʔωϧϧʔλͷӨڹΛഉআ• ΞοϓσʔτͰ͖ͳ͍σόΠεظతʹݟͯअຐʹͳΔ26*$ͷඪ
• τϥϯεϙʔτͷઃܭݻ·Γͭͭ͋Δ– ݅• ϋϯυγΣΠΫઃܭͷϦϑΝΫλ• ύέοτ൪߸҉߸Խ• )551ʗϔομѹॖͷৄࡉ͜Ε͔Β26*$ඪ४Խͷਐঢ়گ
26*$r ૬ޓଓࢼݧ
• .BSL/PUUJOHIBN– )551 26*$8(ٞ *"#ϝϯόʔ• +BOB*ZFOHBS– *$$3(ٞ 26*$ඪ४ͷΤσΟλ• +PFM+BFHHMJ– /FUNPE 8(ٞ• .FMJOEB4IPSF– 5SBOT8( %*/3(ٞ *"#ϝϯόʔ'BTUMZͱϓϩτίϧඪ४Խ
·ͱΊ
• ΑΓ҆͘ɺΑΓ͘ίϯςϯπΛ৴– ߴ͍ΩϟογϡώοτΛ࣮ݱ• શੈքతͳࢄ,74– ϓϩάϥϚϒϧͳ$%/– ॊೈͳ੍ޚ• &EHF$MPVE– ͞Βʹ༷ʑͳػೳΛఏڙ• ϓϩτίϧͷਐԽΛଅਐ– )551 5-4 26*$ $%/ͱͯ͠ͷϛογϣϯ