BASEプロダクトチームブログ

ネットショップ作成サービス「BASE ( https://thebase.in )」、ショッピングアプリ「BASE ( https://thebase.in/sp )」のプロダクトチームによるブログです。

ISUCON 11予選に BASE から4チームが参加しました

8/21(土)に開催された ISUCON 11 予選に BASE から4チームが参加しました。

参加者の感想をお届けします!

チーム「牡蠣に当たる時の効果音→カキーン」

BASEバックエンドチームの @cureseven です。このチームはエンジニアコミュニティのメンバーから募ってできたチームであり、BASEからは私のみ参加しています。

ISUCON11では31位 92336点でした。ISUCONに向けて16回の練習を重ねてきましたが、予選敗退という結果に終わり非常に悔しいです。

やったことの詳細は個人ブログをご覧ください。

BASEはPHPのプロダクトですが、 弊チームはGoで出場し、ISUCON練習のためにGoを書いてきました。BASE BANKではGoを利用しており、2週間に1度 Go Code Reading Partyを開催しているので、参加してISUCON練習で困ったことを聞いたりしました。

去年も同じメンバーで出て本戦出場したのですが、今年は当時よりもずいぶん早く、去年よりもいろんな施策を打てるようになりました。ISUCON練習を通して成長を感じられたので有意義な大会でした。

またISUCONを通してDB周りの知識が身についたので、業務でも実行計画はどうか?より軽い実装はどのようなものか?有効なindexが貼れているか?などを意識して仕様検討・実装できるようになりました。

来年こそ本戦出場したいです。また、3年連続アプリケーション担当として参加しているので、今度はインフラ担当もやってみたいかもと思っています。

ISUCON12の準備は来月あたりから始めます。


個人ブログ

@cureseven: 「ISUCON11に参戦しギリ敗退しました!!!!!!!!!悔しい!!!!!!!!!!!!!!!!!!!!!」

チーム「example.com」

川口

CTOです。

去年から前職の先輩である横山さんと、前職の超優秀だけど現在無職のエンジニアと出場しています。

案の定他メンバーのほうがスコアが良くて悲しい限りです、CTOたる威厳がない。

雑にdeployの仕組みを作ったりtrendのキャッシュとかを組み込んだりとかをしていました。

limit 1とか入れてたけど別修正とかも合わせて入れていて整合性チェックでfailして諦めたりしたので、もっと細かく手数を作れるようにならないとなと反省しきりです。

次こそは本戦、という気持ちで1年いますが来年もまた無準備になりそうな気がしています。

運営の皆様お疲れさまです。

横山

BASE所属の横山です。去年に引き続きCTOとニートエンジニアと3人で参戦しました。

初速だけはよく開始1時間ぐらいまでは10位内に張り付いていたのですがそこからの伸びがなく最終スコアは43,684点で90位でした。

自分は主にMySQLまわりを触り、1台をレプリカにして参照クエリをレプリカに投げる、みたいなことをやっていました。

レプリカ化とかはじめてやってみましたができてよかったです。

スコア的な伸びはなかったんですが・・・。

朝から仕様を頭に叩き込むのは辛かったですが、終わってみればあっという間でした。

また参戦します。

チーム「Speed of Sound」

松雪(@applepine1125)

BASE BANK 所属の budougumi0617applepine1125 で「Speed of Sound」というチームを組みエントリーしました。

2人とも今回が初参加だったので、競技終了時に0ptにならない&100位以内という目標を掲げ、当日は無事? 最終スコア47,995点で79位をマークしました。

スロークエリを発見してindexを貼ったりbulk insertを活用できれば初参加でも100位以内に食い込めるんだなと思いつつ、それ以上を目指そうと思ったときにはもっといろいろな武器を持っていないと上位入賞は遠いな・・・と悔しい限りでした。

来年も是非参加したいと思います。運営の方々、準備から開催までありがとうございました!本戦出場される方も頑張ってください!

清水(@budougumi0617)

今回初の個人スポンサー、初の参加をしました。

以前から「いつか出るぞ出るぞ…」と思っていたので予選参加600チームに潜り込めてよかったです。

事前準備として環境構築スクリプトなどを作成して臨みました。最初の各種計測の設定は準備のおかけでスムーズにできてよかったです。

しかし、その後の実際のパフォーマンス改善はなかなか難しかったです。

「計測結果が悪いけど直し方がわからない」「たぶん良くなるからいじってみる」というような振る舞いが多くなってしまい、計測データに基づいた原因分析、修正対応ができませんでした。

分析力・対応力をもっと身につけて次回は本戦に出場したいと思います。

環境構築はCloudFormationで一瞬終わりましたし、ベンチマークは気軽に何回も実行できて快適な競技環境でした。ありがとうございました。

詳細な当日の様子は、それぞれの個人ブログの記事に記載しています。ぜひそちらもご覧ください!


個人ブログ

チーム「賢者のつどい」

BASE のフロントエンドチームの @Panda_Program です。

大学時代の友人である 0daryo が声をかけてくれたので「賢者のつどい」という2人チームでエントリーしました。

私は BASE でフロントエンドエンジニアをしているため、普段の業務ではサーバーのコードを書いたりインフラを触ることがありません。

前職では業務で PHP も書いていたものの、これまで特にパフォーマンス向上の業務はしたことがなかったのでいい機会だと思ったのがエントリーの理由です。

ISUCON は初参加で右も左もわからなかったところ、幸い社内の Slack に ISUCON に挑戦する人たちのチャンネルがあったので参加してみました。

エントリーの期限や参加後に対応が必要なことのアナウンスやリマインド、また他の方もそれぞれ予選に向けて事前準備をしているという発言を見ることで ISUCON 参加の実感が湧いてきたり、自分も準備をしなければというやる気をもらいました。

予選当日の様子は個人ブログ に記載しているのでそちらをご覧いただければと思います。

最終スコアは16680(598組中249位)と BASE の他のチームの戦績に比べて結果は芳しくなかったです。

ただ、事前準備では普段業務で触らないところが勉強できたこと、パフォーマンス向上の鉄則である「推測より計測」を実際に体験できたため参加した甲斐がありました。

昼休憩で PC から離れた時に肩があまりにも凝っていたことから、集中と緊張のあまり体が強張っていたのだなと後から気づき、なんだか大会らしいなと感じたのはいい思い出です。

ISUCON の結果は事前準備でほとんど決まるのだなと思いました。来年はしっかり準備して予選に臨む所存です。


個人ブログ

@Panda_Program: 「ISUCON11に参加しました」

最後に

ISUCON 運営の方々、とても有意義な大会を開いていただきありがとうございました。

また来年も参加したいと思います!