ISUCONってなんだ / What is ISUCON

Fd09da0d9751bb7875ef4ff7e6201860?s=47 muttan
August 18, 2018

ISUCONってなんだ / What is ISUCON

ふくもく会 その43 / Kanazawa.rb meetup #72 のLT大会で使用した資料です

Fd09da0d9751bb7875ef4ff7e6201860?s=128

muttan

August 18, 2018
Tweet

Transcript

  1. ࠷ۙISUCONָ͕͍͠࿩ Kanazawa.rb meetup #72 / ;͘΋͘ձ ͦͷ43 2018-8-18(Sat) @AOSSA 6֊

    ݚमࣨ ਆ୩ܓ྄(@bath_poo_)
  2. ࣗݾ঺հ ISUCONͱ͸ ରࡦ

  3. ISUCON

  4. ISUCON??

  5. Iikanjino
 SUshiwotaberu CONtest ͍͍ײ͡ͷण࢘Λ৯΂Δίϯςετ

  6. Iiikanjino SUnisuwaru CONtest ͍͍ײ͡ͷҜࢠʹ࠲Δίϯςετ ͜Ε͋ͳ͕ͪؒҧͬͯͳ͍ͷͰ͸…

  7. ISUCONͱ͸ • Iikanjini Speed Up CONtestͷུ ‣ ͭ·Γ(?)͍͍ײ͡ʹεϐʔυΞοϓ͢Δνϡʔχϯάίϯςετ ‣ ϨΪϡϨʔγϣϯͷൣғ಺Ͱ͋Ε͹ԿͰ΋΍Γ์୊ͷָ͍͠ίϯ

    ςετ ‣ ࠷ۙେֶͷਓୡͱΘ͍Θ͍΍ͬͯΔ ‣ Ұ೔΍ΔͷͰͭΒ͍(೑ମతʹ)ͭΒ͍
  8. ༏উ৆͕ۚ100ສԁͰ͢

  9. ISUCONͱ͸ • (ISUCON7ʹ͓͍ͯ)ҎԼͷ΋ͷΛมߋ͠ͳ͚Ε͹ԿΛ ͯ͠΋͍͍ࣄʹͳ͍ͬͯΔ ɾΞΫηεઌͷ63*ɺͨͩ͠αʔόʔଆͰੜ੒͢Δ෦෼ʢ*%ͳͲʣ͸จࣈछ ʢ<>΍<B[";@>ͳͲʣΛม͑ͳ͍ൣғͰࣗ༝ʹੜ੒ͯ͠΋ྑ͍ ɾϨεϙϯε )5.- ͷ%0.ߏ଄ʢදࣔʹӨڹ͠ͳ͍ൣғͰͷۭനจࣈͷ૿ ݮ͸ڐՄ͞ΕΔ

    ɾ+BWB4DSJQU$44ϑΝΠϧͷ಺༰ ɾը૾͓Αͼಈը౳ͷϝσΟΞϑΝΠϧͷ಺༰ Ҿ༻ɿhttp://isucon.net/archives/50927022.html • զʑʹԿ͕Ͱ͖Δͷ͔… Ҝࢠʹ࠲Δ͜ͱ
  10. ISUCONͱ͸ • ࢖༻͍ͯ͠Διϑτ΢ΣΞͷೖସ͑ • ίϯϑΟάϑΝΠϧΛ͍͡Δ(nginx.conf, my.cnfͱ͔) • ΞϓϦέʔγϣϯίʔυͷ࠷దԽ • ςϯϓϨʔτΛ͍͡Δ

    • ෳ਺୆αʔόͷߏ੒มߋ • DBεΩʔϚͷมߋ • ΋͸΍༻ҙ͞Εͯͳ͍ଟݴޠͰॻ͖׵͑Δ(!!)
  11. ͨͱ͑͹ISUCON7 • ༧બ͔Βෳ਺୆ߏ੒ʢ̏୆ʣ • ग़୊ऀ͕ΞϯνGoͳͷͰ, Go͹͔Γ༗རʹͳΔΑ͏ͳ໰୊͸ආ͚ΒΕ͍ͯͨ • Ͳͷαʔό΋CPU͕1ίΞͩͬͨ • ϝϞϦ΋1GB͔͠ͷ͍ͬͯͳ͍

    • DBʹը૾͕όΠφϦͰอଘ͞Ε͍ͯΔʂʂ ISUCON7(༧બ)Λ࣮ࡍʹݟͯΈΔ?
  12. ͨͱ͑͹ISUCON7 "QQ "QQ proxy /icons proxy /icons proxy / proxy

    / ϕϯνϚʔΧʔʢӡӦʣ ޙ೔࿅शͨ͠ͱ͖ͷߏ੒ ͜͜ʹը૾Λ ॻ͖ग़͓ͯ͘͠
  13. ࣗݾ঺հ ISUCONͱ͸ ରࡦ

  14. ରࡦʢաڈ໰ʣ • ͳΜͱաڈ໰͕ఏڙ͞Ε͍ͯΔ(VagrantͰ͍͑ͬ) https://github.com/matsuu/vagrant-isucon

  15. ରࡦʢաڈ໰ʣ • اۀ಺ISUCON΋ఏڙ͞Ε͍ͯΔࣄ͕ଟ͍ • Yahooגࣜձࣾ
 https://github.com/yahoojapan/yisucon • ϐΫγϒגࣜձࣾ
 https://github.com/catatsuy/private-isu ‣

    AMI΋ެ։͞Ε͍ͯΔͷͰ͙͢Ͱ͖ͦ͏ • ଞʹ͋ͬͨΒڭ͍͑ͯͩ͘͞
  16. ରࡦʢܭଌʣ • ܭଌͷ࢓ํΛ֮͑Α͏ Don’t guess! Measure! • ܭଌ͢΂͠ɻܭଌ͢Δ·Ͱ͸଎౓ͷͨΊͷௐ੔Λͯ͠͸ͳΒ ͳ͍ɻίʔυͷҰ෦͕࢒ΓΛѹ౗͠ͳ͍ͷͰ͋Ε͹ɺͳ͓͞ ΒͰ͋Δɻ(Ҿ༻ɿhttps://ja.wikipedia.org/wiki/UNIX఩ֶ)

  17. ରࡦʢܭଌʣ • ࣮ࡍʹܭଌΛ͢Δ ‣ nginxͷΞΫηεϩάͷղੳΛ͢Δ - kataribe(matsuu/kataribe) - alp(kuchiki/alp) ‣

    ϕϯνϚʔΫճ͠ͳ͕ΒෛՙΛݟΔ - htop ‣ εϩʔΫΤϦΛग़͢ - perconaͱ͔mysqldumpslowͱ͔
  18. ରࡦʢܭଌʣ • ͨͱ͑͹kataribe • /tagsͷฏۉ଎౓͕͔ͳΓ஗͍ • /΁ͷΞΫηε΋େม͓͍ͦ

  19. ରࡦʢηοτΞοϓʣ • ηοτΞοϓΛεϜʔζʹͰ͖ΔΑ͏ʹ ‣ sshͷઃఆ ‣ ֤छΠϯετʔϧΛεϜʔζʹߦ͏ - ͏ͪͷνʔϜ͸ansibleͰ΍͍ͬͯ·͢ ‣

    GitHubʹͱΓ͋͑ͣίʔυΛ͋͛Δ ‣ ೔ຊޠʢϨΪϡϨʔγϣϯʣΛਖ਼͘͠ཧղ͢Δ
  20. ରࡦʢศརεΫϦϓτʣ • ศརεΫϦϓτΛॻ͍͓ͯ͘

  21. ISUCONͷԿ͕͍͍ͷ • WebΞϓϦέʔγϣϯʹؔ͢Δجຊతͳ஌ࣝ΍໾ׂʹͭ ͍ͯͷཧղ͕ਂ·Δ • ܭଌ͢ΔΫη͕ͭ͘ɹ • ΞϓϦέʔγϣϯΛॻ͘ͱ͖ʹ, ύϑΥʔϚϯεΛҙࣝ͢ ΔΑ͏ʹͳΔ

    • systemdͱ͔nginxͱ͔MySQLͱ͔ͦͷ͋ͨΓͷ஌ࣝΛ޿ ͘ಘΒΕΔ • ׂͱͦͷ࣌ͷ͸΍Γͱ͔͕औΓೖΕΒΕ͍ͯΔ • ָ͍͠
  22. ENJOY TUNING!