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

いい感じにスピードアップするコンテストの紹介

rch850
August 28, 2019

 いい感じにスピードアップするコンテストの紹介

社内勉強会でISUCONについて紹介したときの資料。5分LT用。

rch850

August 28, 2019
Tweet

More Decks by rch850

Other Decks in Technology

Transcript

  1. トップページ GET / (+10点) メッセージ投稿 POST /message (+5点) フォロー POST

    /follow (+5点) トップページ GET / (+10点) メッセージ投稿 POST /message (+5点) SELECT * FROM user; 35 pt ベンチマーカー
  2. ベンチマーカー トップページ GET / (+10点) トップページ GET / (+10点) メッセージ投稿

    POST /message (+5点) フォロー POST /follow (+5点) トップページ GET / (+10点) メッセージ投稿 POST /message (+5点) トップページ GET / (+10点) メッセージ投稿 POST /message (+5点) フォロー POST /follow (+5点) メッセージ投稿 POST /message (+5点) フォロー POST /follow (+5点) SELECT name FROM user WHERE id IN (?); メッセージ投稿 POST /message (+5点) フォロー POST /follow (+5点) フォロー POST /follow (+5点) トップページ GET / (+10点) 100 pt
  3. def get_adult_count(): users = db.query(“SELECT * FROM user”) count =

    0 for user in users: if user.age >= 20: count = count + 1 return count
  4. 様々な装備 • 負荷が高いプロセス ◦ ps コマンド ◦ top コマンド •

    遅い HTTP アクセス ◦ Chrome Developer Tools > Network ◦ kataribe • 遅いデータベースアクセス ◦ explain ◦ pt-query-digest • 遅い処理 ◦ rack-lineprof