Slide 1

Slide 1 text

৽ଔΠϯϑϥΤϯδχΞ͕ ϐΫγϒ৽ࣾ಺޿ࠂαʔόʔߏங ʹ௅Μͩ࿩ ϐΫγϒגࣜձࣾ DBUBUTVZ

Slide 2

Slide 2 text

ࣗݾ঺հ w DBUBUTVZ w ΧλπΠͬͯݺ͹Ε͍ͯΔ w ʹେֶΛଔۀޙʹϐΫγϒೖࣾ w ࠓ೥ͷ৽ଔΠϯϑϥΤϯδχΞ w ࣾ಺޿ࠂαʔόʔͷΠϯϑϥ୲౰ʹ

Slide 3

Slide 3 text

୅දతPerlاۀͳͷͰPerlͷ࿩Λ͠·͢ ͪͳΈʹpixiv͸શ෦খจࣈͰ͢ ʲग़యʳJEOFUDSBGU͞Μ ৬ۀͱͯ͠ͷ1FSMΛॻ͖ଓ͚Δ͜ͱͷ೉͠͞ͱ1FSMڭҭֵ໋͸ͯͳଜఆ఺؍ଌॴ IUUQXXXPQFOTIFOUSZ

Slide 4

Slide 4 text

ࣾ಺޿ࠂαʔόʔ w ϐΫγϒ͸ࣾ಺Ͱ޿ࠂ഑৴αʔόʔΛ๊͍͑ͯΔ w ޿ࠂαʔόʔ͸%FCJBO1)1 w ࣾ಺ඪ४؀ڥ͸%FCJBO1)1 w 1)1Ͱഇࢭ͞Εͨ"1$Λ࢖͍ͬͯͯόʔδϣ ϯΛ্͛ΒΕͳ͍ w ػೳ௥Ճ΋ࠔ೉

Slide 5

Slide 5 text

৽޿ࠂαʔόʔ։ൃϝϯόʔʢਓʣ CBTI$ ؅ཧɾ഑৴αʔόʔϓϩτλΠϓ࡞੒ ؅ཧɾ഑৴αʔόʔ։ൃ୲౰ QJYJWͷ։ൃ΋૯ׅ 3BJMTΤϯδχΞ ؅ཧαʔόʔ։ൃ୲౰ DBUBUTVZ ؅ཧαʔόʔΠϯϑϥ୲౰ ഑৴αʔόʔ։ൃɾΠϯϑϥ୲౰

Slide 6

Slide 6 text

%/4 UZQFUBJM ޿ࠂ഑৴αʔόʔ ؅ཧαʔόʔ .Z42- qVFOUE qVFOUE /(*/9 ը૾ $"$)& LTLMPH NFNDBDIFE ޿ࠂσʔλ "QQMJDBUJPO (PMBOH දࣔ਺ ΫϦοΫ਺ 6/*9υϝΠϯιέοτ $JSDVT ޿ࠂσʔλ ܭଌ݁Ռ ϥ΢ϯυϩϏϯ 6/*9υϝΠϯιέοτ ϑΝΠϧσΟεΫϦϓλ

Slide 7

Slide 7 text

/HJOY$JSDVT(P w ϑϩϯτ͸/HJOYͰड͚Δ w ը૾ΩϟογϡΛ/HJOYଆͰ࣋ͭ w 6/*9υϝΠϯιέοτܦ༝ͰQSPYZ͢Δ w (Pͷαʔόʔ͸ඪ४ग़ྗʹϩάΛग़ྗ w .P[JMMB੡ͷϓϩηε؅ཧπʔϧ$JSDVT͕ϗοτσϓϩΠɾϓϩ ηε؂ࢹɾϩάϑΝΠϧԽɾϩάϩʔςʔτͳͲΛ୲౰ w $JSDVT͕ιέοτϑΝΠϧΛ࡞Γɼ(P͸ϑΝΠϧσΟεΫϦϓλ Λ-JTUFO͢Δαʔόʔ

Slide 8

Slide 8 text

socket TPDLFU࡞੒ ϑΝΠϧ σΟεΫϦϓλ FYFD socket ϑΝΠϧ σΟεΫϦϓλ ϓϩηε؂ࢹ DJSDVT͸ϓϩηε؂ࢹ͚ͩ ͰϦΫΤετ͸ײ஌͠ͳ͍ BQQ͸ϑΝΠϧσΟεΫϦϓλΛ -JTUFO͢ΔαʔόʔͰ͋Δඞཁ͕͋Δ αʔόʔىಈ࣌ αʔόʔىಈޙ circus app circus app

Slide 9

Slide 9 text

circus socket ϑΝΠϧ σΟεΫϦϓλ app_old FYFD app_new ϓϩηε؂ࢹ αʔόʔϦϩʔυ αʔόʔϦϩʔυ BQQ@OFX͕ىಈ͢Δ·Ͱ଴ͭ BQQ@OFX͕ىಈͨ͠Β BQQ@PMEΛLJMM͢Δ circus socket ϑΝΠϧ σΟεΫϦϓλ app_old app_new ϓϩηε؂ࢹ LJMM

Slide 10

Slide 10 text

1FSM͸ʁʁʁ

Slide 11

Slide 11 text

find / -type f -name "*" -size +1000k -mmin -60 2> /dev/null \ | xargs sudo pagecache-check.pl 2> /dev/null \ | perl -ne 'if ((m{(.*?)\s.*cached/total_pages=(.*)/.*}) && ($2 > 0)) { print $2, "\t", $1, "\n"; }' \ | sort -nr w ࠓճͷ޿ࠂαʔόʔ͸େྔͷϩάΛग़ྗ͢Δ w DQBOϞδϡʔϧͷ4ZT1BHF$BDIFͰ࢖༻͠ͳ͍ϩάͷϖʔδ ΩϟογϡΛఆظతʹ࡟আ w ༧ظͤ͵ϖʔδΩϟογϡͷ૿Ճ΋4ZT1BHF$BDIFͷग़ྗΛ1FSMͰ ੔ܗͯ͠TPSUͯ͠ϖʔδΩϟογϡΛᷰ͏ϑΝΠϧΛݟ͚ͭͯղܾʂ ϖʔδΩϟογϡΛᷰ͏ϩάΛݟ͚ͭΔ

Slide 12

Slide 12 text

·ͱΊ w QJYJW͸શ෦খจࣈ w ϐΫγϒ͸1FSM͚ͩͰ͸ͳ͘1)13VCZ(PͳͲͳͲ ༷ʑͳݴޠʹࢧ͑ΒΕ͍ͯΔ w $JSDVTͱ4ZT1BHF$BDIFศར ৽ଔͰ΋৭ʑͰ͖ΔձࣾͳͷͰ ڵຯͷ͋ΔΤϯδχΞืूதͰ͢ʂ