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

新卒インフラエンジニアがピクシブ新社内広告サーバー構築に挑んだ話

 新卒インフラエンジニアがピクシブ新社内広告サーバー構築に挑んだ話

Kaneko Tatsuya

August 29, 2014
Tweet

More Decks by Kaneko Tatsuya

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. %/4
    UZQFUBJM
    ޿ࠂ഑৴αʔόʔ
    ؅ཧαʔόʔ
    .Z42-
    qVFOUE qVFOUE
    /(*/9
    ը૾
    $"$)&
    LTLMPH NFNDBDIFE
    ޿ࠂσʔλ
    "QQMJDBUJPO (PMBOH

    දࣔ਺
    ΫϦοΫ਺
    6/*9υϝΠϯιέοτ
    $JSDVT
    ޿ࠂσʔλ
    ܭଌ݁Ռ
    ϥ΢ϯυϩϏϯ
    6/*9υϝΠϯιέοτ
    ϑΝΠϧσΟεΫϦϓλ

    View Slide

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

    View Slide

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

    View Slide

  9. circus
    socket
    ϑΝΠϧ
    σΟεΫϦϓλ
    app_old
    FYFD
    app_new
    ϓϩηε؂ࢹ
    αʔόʔϦϩʔυ
    αʔόʔϦϩʔυ
    [email protected]͕ىಈ͢Δ·Ͱ଴ͭ
    [email protected]͕ىಈͨ͠Β
    [email protected]ΛLJMM͢Δ
    circus
    socket
    ϑΝΠϧ
    σΟεΫϦϓλ
    app_old
    app_new
    ϓϩηε؂ࢹ
    LJMM

    View Slide

  10. 1FSM͸ʁʁʁ

    View Slide

  11. 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ͯ͠ϖʔδΩϟογϡΛᷰ͏ϑΝΠϧΛݟ͚ͭͯղܾʂ
    ϖʔδΩϟογϡΛᷰ͏ϩάΛݟ͚ͭΔ

    View Slide

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

    View Slide