Slide 1

Slide 1 text

ISUCONのススメ Hamee株式会社 山本紘也 twitter @HiroyaYamamoto1

Slide 2

Slide 2 text

Hameeでは エンジニアを 募集しております! ● Hameeはbuiderscon tokyo2019の同時通訳スポンサーをしております ● 転職をお考えの方は是非気軽に話しかけてください(選考が有利になる チケットがあるとかないとか…)

Slide 3

Slide 3 text

目次 ● ISUCONとは ● 参戦履歴 ● 学び ● まとめ

Slide 4

Slide 4 text

ISUCONとは http://isucon.net/ WEBサービスのチューニングのうまさを点数化して全国で競い合うコンテスト 名前は「いい感じにスピードアップコンテスト」(Iikanjini Speed Up Contest)の 略。 毎年10月前後に開催していて今年で9回目 予選と本選があり、予選上位数チームが本選出場

Slide 5

Slide 5 text

きっかけ 2015/08に会社のインフラエンジニアの社内発表にて存在をする 当時エンジニア2年目だった私はどこまでやれるのか試してみたいと思い参 加表明 優勝賞金100万円に目がくらむ

Slide 6

Slide 6 text

参戦履歴1 ● 2015/09 ISUCON5 ○ バナナマンズ ○ 予選落ち(T_T) ● 2016/09 ISUCON6 ○ バナナマンリターンズ ○ 予選落ち。・゚゚・(>_<;)・゚゚・。 ● 2017/10 ISUCON7 ○ バナナマンさん ○ 予選落ち༼;´༎ຶ ۝ ༎ຶ༽

Slide 7

Slide 7 text

参戦履歴2 ● 2018/09 ISUCON8 ○ バナナマンズ -4thの覚醒- ○ 予選落ち。。。 ○ ただし528チーム中64位と大健闘 ● 2019/09 ISUCON9 ○ BANANINE ○ comming soon

Slide 8

Slide 8 text

ISUCON5 ● SNSっぽいサービス ● 画面数・テーブル数が多く、ボトルネックを探すところから ● 2年目エンジニアはsshした先のサーバで色んな操作をするだけで一苦 労、時間がかかった ● 結果: 65点→1864点 ● 何の成果も得られませんでした! ● お祭りに参加できたことに満足

Slide 9

Slide 9 text

ISUCON6 ● Wikipediaのような百科事典サービス ● ボトルネック調査(ツール)→N+1クエリの改修 ● 前年よりできることが増えていることを実感 ● 直しているはずなのにスコアが伸びず… ● 結果: 0→14400 ● 前年より色々動けたが相変わらずスコアに繋がらない

Slide 10

Slide 10 text

ISUCON7 ● チャットサービス ● ボトルネック調査ツールを使わずともコードを読みながらN+1のクエリ、 臭い処理を検討つけることができた ● テーブルチェック→効きそうなところにインデックス付与で大幅点数アッ プ ● キャッシュ化対応が間に合わず ● 結果: 4097→29758 ● 確実にできることが増えているのを実感

Slide 11

Slide 11 text

ISUCON8 ● 座席の予約システム ● sinatraの素振りをやっていたおかげでローカル環境の構築がスムーズ に行え、ベンチのfail率が下がった ● ノウハウを生かしてN+1クエリや不要なループなどを愚直に直した ● 結果: 1500→15842 ● あと入れたい修正が2,3あったので全部やりきったらもう少し上を目指せ たかも?

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

セオリー ● N+1クエリ ● インデックス ● 画像ファイルのnginxによる静的ファイル化 ● よく参照されるデータのキャッシュ化 ● データ構造の見直し

Slide 14

Slide 14 text

学び ● インデックスは大体どこに貼れば効くかは検討がつくようになった ● N+1クエリは悪 ● キャッシュ化と言ってもRedisを使うとかオンメモリに持つとか色んな方法 があるのでその都度選択する必要がある ● 通常の業務でも「速度」というものを意識するようになる ● 楽しい!\(^o^)/

Slide 15

Slide 15 text

まとめ 相変わらず予選突破できませんが、当日のお祭り感は一度経験してみること をおすすめします。 自分が社会のエンジニアとしてどのくらいの位置にいるのか客観的に分かる のでオススメです。 参加チームが増えてくれることに期待します! (1人でも参加できるけどチームの方が楽しいよ!)

Slide 16

Slide 16 text

まとめ 相変わらず予選突破できませんが、当日のお祭り感は一度経験してみること をおすすめします。 自分が社会のエンジニアとしてどのくらいの位置にいるのか客観的に分かる のでオススメです。 参加チームが増えてくれることに期待します! (1人でも参加できるけどチームの方が楽しいよ!) ISCUONやろうぜ!

Slide 17

Slide 17 text

参考 ISUCON5に参加したのでその雑記 ISUCON6に参加したのでその雑記 ISUCON7に参加したのでその雑記 ISUCON8に参加したのでその雑記 https://qiita.com/yamamoto_hiroya/items