Scala関西サミット2018で発表してきた #scala_ks
去年に引き続いて幸運にもCFPに応募したトークが採択されたので発表してきました。
運営の皆さまをはじめとして、ありがとうございました!
資料
サンプルコードはGithubに上げました。
発表の振り返り
セッションのトリで裏番組が非常に豪華だったにも関わらず聴きに来てくださった方には感謝しかないです。
本当にありがとうございました!
しかし40分の発表枠で丁寧に話しすぎて30ページくらい話せなかったという辛い結果に...。
余談ですが発表資料は公開している分だけで130ページ超あるものの、実は時間の都合でスキップしたのも入れると150ページを優に超える資料を作ってしまってました。
去年のを見返すと170ページを40分弱で消化したらしいのでゆっくり話せるようにはなったらしい。成長したのか退化したのか...。
雰囲気
初日の朝ごはん
お昼ご飯の串カツ
筆者近影
集合写真。いい位置に付けてみた
感想とか
Twitterで知ってるけど顔と名前一致してないとか、直接話したことはないとか、そういったのを自分の中で解消できたのが個人的には大きな収穫でした。 そして会社のブログに書いた内容が一部で話題になったりとかも実はめっちゃ嬉しかった話。何かと嬉しいことが多い良きイベントでした。
発表した内容だけじゃなくてこういったネタで懇親会とかでも話しかけてもらえたりしたので、継続的にアウトプットするのって大事なんだなと改めて認識しました。
来年も頑張って出るぞ!
ISUCON8予選に参加して敗退した #isucon
2018/09/15(土)に開催されたisucon8予選に参加した。
去年と同じメンバー3人で出た。
結果はタイトル通り敗退で、再起動試験でどんなスコアだったかはわからないが、自分たちで確認できたスコアは26,000点台だったのでまあ無理だったでしょうという感じ。
やったこと
Golangを選択した。
最近まともに書いてないので文法も怪しいレベルだったけど他の言語よりはやりやすいかと思っての選択。
スコアを伸ばせたのは
- N+1解決
- DBにindexはる
っていうありきたりなやつ。
あと小ネタとしてh2oのログをalpで食えるようなLTSVにしたり。
N+1解決、getEventsのところ直したんだけど、何箇所か直したあたりでベンチマークがfailしだしてそっから頭打ちになった。
爆速になるやろ!って思ってベンチ回したらfailしかしなくなってバグfixにめっちゃ時間かかってしまったのが敗因な気がしている。
結局、がっつりコード書いて改善したやつをコミット出来なかったのは非常に悔しい。
ここは普段からGo書いてないつけが回ってきた感じ。
あと3台構成を全くいかせず、1台のWeb + DBサーバでさばいていたのでそこを分散できればよかったんだろうな、と思いつつ帯域とかベンチマークのバリデーション厳しいのもあって正直どうやればいい感じに出来たか最高のアイデアは出てない。
MySQLをAerospikeクラスタ組んでリプレイスするか〜とか言ってたけどやってない。
この辺なにか一つ改善が形になればスコアはもうちょい上がっただろうなという感じ。
そしてMySQLがどうやって起動されてるかわからなかった...。
systemctl
でもないし何だったんだろうか。未だにわかってない。MySQL自前で入れ直して対応してたんだけどみんなどうしたんだ。
あとこれはただの感想で、Golang、せっかくコンパイルするのにランタイムエラー置きまくるので厳しい気持ちになった。さくっとコンパイル通るのは気軽でいいんだけどメモリアクセス違反とかくらい見つけて欲しいなって思った。
普段Scalaばっかり使っててコンパイラに甘やかされてるのでかなり大変だった。
去年からの差分
事前準備全くしなくて去年ぶりのisuconって感じだったけど、同じメンバーだったのもあって導入はわりとすんなり。
去年の反省を生かして役割分担したり時間決めて現状整理する時間取ったりしたのは良かった。
特に先輩がdatadogいれて監視できるようになったのはめっちゃ良かった。
去年はnetdata入れてモニタリングしてたけど慣れてないのもあってイマイチ使いこなせなかったし。
あとはシステムレイヤーでの大きな改善が去年も出来なかったし今年も出来なかった。
キャッシュレイヤいれるとかDB変えるとか。
改善が小粒になってしまってるので来年参加するならもうちょっと攻めたい。
最後に
今年は開始時間遅れなかったしほぼ困ることが何もなくて運営の方々最高だった。
一瞬ポータルが重かったくらい。
#isucon ポータルもisuconになってる
— こむ (@petitviolet) 2018年9月15日
非常に楽しかったです、ありがとうございました!