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

ISUCONを社内向け1人参加型ISUCONにアレンジしてみた

 ISUCONを社内向け1人参加型ISUCONにアレンジしてみた

PHPerKaigi 2018 LT資料
「ISUCONを社内向け1人参加型ISUCONにアレンジしてみた」
ISUCONとは、「お題となるWebサービスを決められたレギュレーションの中で限界まで高速化を図るチューニングバトル、それがISUCONです」※公式サイトより
通常のISUCONは3人1チームでの参加ですが、社内のエンジニア向けイベントとして1人で参加するISUCONにアレンジした、問題作成、運営側のおはなしです
社内向けならではの、社内のメンバーに知ってほしいこと問題に盛り込んで開催しています
PHPerもチューニングしよう!

CyberAgent SGE Engineer

March 10, 2018
Tweet

More Decks by CyberAgent SGE Engineer

Other Decks in Programming

Transcript

  1. • גࣜձࣾαΠόʔΤʔδΣϯτ • 4(&$50 • നҪɹӳ • ΤϯδχΞ • 5XJUUFS

    !HPPEPP • #MPH IUUQBNFCMPKQHPPEPP • %2 ͙ͪ͢Ή '# ϓΫϦϙ ཱྀܳਓ  ͓લɺ୭Α
  2. *46$0/ϨΪϡϨʔγϣϯ wνʔϜ͸໊΋͘͠͸໊ͰͷࢀՃ wߴ଎Խର৅ͷιϑτ΢ΣΞͱͯ͠ओ࠵ऀ͔Β1FSM  3VCZ 1ZUIPO 1)1 /PEFKT (PʹΑΔ8FCΞϓ Ϧέʔγϣϯ͕༩͑ΒΕΔ

    w࠾఺৚݅ΛΫϦΞͨ͠ࢀՃऀͷؒͰɺੑೳ஋ͷߴ͞Λڝ͏ w֤αʔόʹ͓͚Διϑτ΢ΣΞͷೖΕସ͑ɺઃఆͷมߋɺ ΞϓϦέʔγϣϯίʔυͷมߋ͓ΑͼೖΕସ͑ͳͲ͸Ұ੾ ېࢭ͠ͳ͍
  3. .Z42-ͷΠϯσοΫεͱ͔ user_id friend_id hit_flag 1 2 0 2 5 1

    3 4 1 4 5 1 5 6 0 6 8 1 8 12 1 10 13 0 12 15 1 13 20 0 15 20 1 20 25 0 SFMBUJPOςʔϒϧ CREATE TABLE `users` ( `user_id` int(11) NOT NULL , `friend_id` int(11) NOT NULL, `hit_flag` int(1) NOT NULL, PRIMARY KEY (`user_id`), UNIQUE KEY `user_friend` (`user_id`,`friend_id`) ) SELECT * FROM relation WHERE friend_id = 12; ΠϯσοΫε GSJFOE@JEʹ͸ ΠϯσοΫεޮ͍ͯͳ͍
  4. ඇޮ཰ͳ-PPQͷॲཧͱ͔ $articleQuery = "SELECT id FROM articles ORDER BY id

    DESC" $articles = dbExecute($articleQuery)->fetchAll(); foreach ($articles as $key => $article) { $articles[$key]['detail'] = getArticle($article['id']); } (ུ) function getArticle($id) { $query = "SELECT * FROM articles WHERE id = ? "; $article = dbExecute($query, [$id])->fetch(); return $article; } ؔ਺ͷதͰ42-Λݺͼग़͍ͯ͠Δͷʹؾ͔ͮͳ͍