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

pixivにおけるコンテンツ配信 / JPNAP users meeting 2015-02

pixivにおけるコンテンツ配信 / JPNAP users meeting 2015-02

JPNAPユーザー会 / 2015-02-12

Harukasan

October 14, 2015
Tweet

More Decks by Harukasan

Other Decks in Technology

Transcript

  1. 1日Nアクbィブユーザ, 1日N投稿作品, ձһ਺͸1,000ສϢʔβʔΛಥഁ 0 200 400 600 800 1000 1200

    1400 2007 2008 2009 2010 2011 2012 2013 2014 2015 200万ユーザー 2010年5月22日 400万ユーザー 2012年1月28日 600万ユーザー 2013年1月30日 800万ユーザー 2013年8月14日 1000万ユーザー 2014年2月22日 (ສਓ) ※2015年2月現在 登録ユーザー数 167万人 25,000作品 1,350万ユーザー
 2015年2月現在
  2. (Gbps) 0 5 10 15 20 2007 2008 2009 2010

    2011 2012 2013 2014 2015 Ϣʔβʔ਺ʹ߹ΘͤτϥϑΟοΫ΋૿Ճ 最大使用帯域, 17.517ps
 平均使用帯域, 917ps ※2015年2月現在 最大使用帯域
  3. • ࣗ࡞αʔό͔Βσʔληϯλʔ΁Ҡߦ • ݹ͍αʔό͸։ൃ༻్ͱͯ͠ར༻ pixivͷΠϯϑϥετϥΫνϟ 0 125 250 375 500

    2007 2008 2009 2010 2011 2012 2013 2014 αʔό୆਺ ࣗࣾαʔόϧʔϜ ৽॓DC നՏDC
  4. 自作αʔόͱDCͷϋΠϒϦουߏ੒ 社屋サーhーuーム 1Gbps ઐ༻ઢ 2D.0新宿cータセxター ਺Gbps 4Gbps ϕετΤϑΥʔτ IDCFόοΫϘʔϯ 画像ストvージ

    Toッシpクsスタ ςΩετσʔλ ը૾σʔλ • 2010೥ʹσʔληϯλʔͷར༻Λ։࢝ • ҆ఆͨ͠ճઢΛར༻ͯ͠ը૾σʔλΛ഑৴ アプtケーシrx
  5. • ৽॓DCͷϥοΫ͕खڱʹ • ௿஗Ԇ(౦ژ-෱ౡؒ ฏۉ3.5ms) • ϑϧϚωʔδυ(ೖؗϨε) ΑΓ֦ுੑΛٻΊͯനՏDC΁ ASCII.jp -

    IDCFͷ“ݺٵ͢Δσʔληϯλʔ”ΛനՏͰମײ͖ͯͨ͠ http://ascii.jp/elem/000/000/975/975144/ 福島
 白河DC
  6. • നՏDCʹը૾ΩϟογϡΫϥελΛҠస • 4ຊͷ10GճઢΛෑઃ ΑΓ֦ுੑΛٻΊͯനՏDC΁ 2D.0新宿cータセxター 2D.0白河cータセxター 1Gbps x 4

    画像ストvージ Toッシpクsスタ アプtケーシrx 10Gbps x 1 10Gbps x 4 IDCFόοΫϘʔϯ IDCFόοΫϘʔϯ ౦ژ ෱ౡݝനՏ
  7. 0 10 20 30 40 2007 2008 2009 2010 2011

    2012 2013 2014 τϥϑΟοΫͱճઢଳҬ • ੒௕ʹ߹ΘͤͯඞཁͳճઢଳҬΛ૿ઃ͖ͯͨ͠ • ΩϟογϡΫϥελͷಋೖͰεέʔϧ͠΍͍͢ߏ੒ʹ ࢖༻ՄೳଳҬ ࢖༻ଳҬ 10Gճઢಋೖ നՏDC Gbps τϥϑΟοΫ
  8. ΩϟογϡΫϥελͷߏ੒ͱ
 Ωϟογϡώοτ཰ mntToッシp cィスクToッシp 画像ストvージ 50% 5% ϝϞϦΛར༻ͨ͠ߴ଎ͳΩϟογϡ SSDΛར༻ͨ͠େ༰ྔΩϟογϡ HDDͷେ༰ྔετϨʔδ

    100msͰԠ౴ 300msҎ಺ʹԠ౴ 10msҎ಺ʹԠ౴ • ϝϞϦͱσΟεΫͷ2ஈΩϟογϡߏ੒ • SSDΛར༻͢Δ͜ͱͰ਺ेTBͷΩϟογϡ༰ྔΛ֬อ
  9. ίϯςϯπ഑৴Ϋϥελͷߏ੒ cィスクToッシp -p68h9 5A6ffi8 49Av9A cィスクToッシp -p68h9 5A6ffi8 49Av9A mntToッシp

    hsxシxグ n:inF uーbィxグ n:inF uーbィxグ n:inF サムネイu生成 :o ChDm79A mntToッシp hsxシxグ n:inF 画像ストvージ ɾɾɾ ɾɾɾ ɾɾɾ cィスクToッシp -p68h9 5A6ffi8 49Av9A mntToッシp hsxシxグ n:inF uーbィxグ n:inF emイxシoーcィxグ&D34sSxeロix コxシスbxトgッシxグ
  10. i1.pixiv.net: DNSϨίʔυ i2.pixiv.net: im:.piFiv.n9C. 200 23 - 203.0.113.1 im:.piFiv.n9C. 200

    23 - 203.0.113.2 im:.piFiv.n9C. 200 23 - 203.0.113.3 im:.piFiv.n9C. 200 23 - 203.0.113.4 G im:.piFiv.n9C. 200 23 - 203.0.113.1 im:.piFiv.n9C. 200 23 - 203.0.113.2 im:.piFiv.n9C. 200 23 - 203.0.113.3 im:.piFiv.n9C. 200 23 - 203.0.113.4 G im:.piFiv.n9C. 200 23 - 203.0.113.1 im:.piFiv.n9C. 200 23 - 203.0.113.2 im:.piFiv.n9C. 200 23 - 203.0.113.3 im:.piFiv.n9C. 200 23 - 203.0.113.4 G i3.pixiv.net: υϝΠϯγϟʔσΟϯάͱ
 DNSϥ΢ϯυϩϏϯ • DNSϥ΢ϯυϩϏϯʹΑΓτϥϑΟοΫΛ෼ࢄ • UDPʹΑΔDNSԠ౴͸512byte·Ͱ • ը૾IDͷϋογϡ͝ͱʹυϝΠϯΛ෼ׂ͢Δ͜ͱͰ
 DNSϨίʔυαΠζΛ࡟ݮ i.pixiv.net: im:.piFiv.n9C. 200 23 - 203.0.113.1 im:.piFiv.n9C. 200 23 - 203.0.113.2 im:.piFiv.n9C. 200 23 - 203.0.113.3 im:.piFiv.n9C. 200 23 - 203.0.113.4 G 512byte: 10ݸఔ౓ 512byte 512byte 512byte
  11. nginxʹΑΔϝϞϦΩϟογϡ • ΠϕϯτۦಈΞʔΩςΫνϟʹΑΔߴ଎ͳHTTPαʔό • HTTPS௨৴ͷղআ • ϝϞϦΩϟογϡ • ϩʔυόϥϯγϯά •

    nginx͸ϑΝΠϧΩϟογϡػೳΛ࣋ͭͷͰ
 tmpfsΛར༻ͯ͠ϝϞϦ্ʹΩϟογϡϑΝΠϧΛอ࣋
  12. 2ஈΩϟογϡʹΑΔར఺:
 ಛఆαʔόʹෛՙ͕ภΔͷΛ๷͙ • ϋογϯάʹΑΔ෼ࢄΛߦ͏ͱಛఆαʔόʹෛՙ͕ภΔ • 1ஈ໨ʹϝϞϦΩϟογϡ͕͋Δ͜ͱͰΑ͘ϦΫΤετ
 ͞ΕΔϑΝΠϧ͸ෳ਺ͷαʔόͰԠ౴ग़དྷΔ cィスクToッシp /img/a.jpg 負荷が集中

    cィスクToッシp /img/a.jpg 1ஈ໨ʹΩϟογϡ͕ͳ͍৔߹ cィスクToッシp /img/a.jpg cィスクToッシp /img/a.jpg 1ஈ໨ʹΩϟογϡ͕͋Δ৔߹ mntToッシp mntToッシp 負荷が分散
  13. 10Gbps 10Gbps 5Gbps 10Gbps 2ஈΩϟογϡʹΑΔར఺:
 αʔόؒτϥϑΟοΫΛݮΒ͢ • 1ஈ໨ʹΩϟογϡ͕͋Δ͜ͱͰɺόϥϯγϯά͠ͳ͚Ε͹
 ͳΒͳ͍ϦΫΤετ͕൒ݮ •

    ϩʔΧϧΤϦΞͷτϥϑΟοΫΛ཈͑Δ͜ͱ͕Ͱ͖Δ cィスクToッシp /img/a.jpg cィスクToッシp /img/a.jpg 1ஈ໨ʹΩϟογϡ͕ͳ͍৔߹ cィスクToッシp /img/a.jpg cィスクToッシp /img/a.jpg 1ஈ໨ʹΩϟογϡ͕͋Δ৔߹ mntToッシp mntToッシp 同じ容量N帯域が必要 必要帯域が半減
  14. Apache TrafficServerʹΑΔ
 σΟεΫΩϟογϡ • σΟεΫΩϟογϡʹ͸Apache TrafficServer (ATS) Λ࢖༻ • ୯ҰΦϒδΣΫτʹΑΔΩϟογϡͳͷͰϑΝΠϧγεςϜͷ


    inode੍ݶͳͲΛؾʹ͢Δඞཁ͕ͳ͍ • SATA SSDΛmdadmʹΑΓRAID0(ετϥΠϐϯά)͢Δ͜ͱͰ Ԡ౴ੑΛ޲্ 256GB 256GB 256GB Software RAID (mdadm) ATS Cache Volume