builderscon tokyo 2019 に行ってきた #builderscon
今年も Discover something new! ということで builderscon に行ってきた。
前夜祭
- 技術の無駄遣いすごい
- 残念なセッションがあったのは残念だった
1日目
- B2B SaaS のテナント間のデータのやり取り難しそう
- DB のバックアップ大事ですね 大事ですね
- WebAuthn 取り入れる場合に UX やっぱりそうなりますよね
- 一般に普及するまでどのくらいかかるんだろう
- TracePoint マジ TracePoint
- JIT すごい
- Kyash さんすごい。胆力いりそう。Message Bus すごい
懇親会
- 同じ眼鏡の人が3人あつまった! なぜ..
2日目
- 式年遷宮を4年ごとに繰り返しているのすごい
- 作り込みすぎないとかマネージドにふるとかの勘所
- Elixir ちょっとさわってみよ
- スーパーカミオカンデ、すごすぎて語彙失った..
- Profile! Always measure first
- RLS 検証してみたい
- 時間を扱うの大変そう
見本市
- a-know san の Pixela | Record and Track your habits or effort. All by API.
- API をメインで提供するの面白いし、サクッと試してみたくなるのとてもいい
まとめ
終わり
- 登壇された皆様、運営チームのみなさま、ありがとうございました!
- また次回も参加するぞ!
ISUCON8 予選敗退した #isucon
今年も ISUCON に出場した。
去年と同じチーム(ウデムシマニア) で出場できたので、今年は事前の練習などはせず、ぶっつけ本番で予選となった。 ISUCONを初期からみていた勢としては、どっかで観たことあるなあと感じる予選の問題だった (ISUCON2のアンサーだった模様)
チーム内の役割は去年と同様に、アプリ改善はチームメンバーに任せつつインフラ周りや db 周りをみた。 自分がやった内容としては下記な感じ
- ruby 実装に変更
- db を別インスタンスへ移動
- mysql の slow query の抽出
- reservations テーブルの非正規化
- 初期データの調整
- /etc/my.conf.d/server.conf の変更
- redis 投入
- 細かいクエリの削減 (投入できず)
初手で h2o じゃんとなってしまい、、ログ収集の手をそうそうに停めてしまったのが、今から考えると、それがベンチの分析がうまくできなかった要因だった。。 時間があるタイミングで、手に馴染んでる nginx などに入れ替えるべきだった。
去年は、途中でブレークスルーが起きてスコアがバキッと上がるポイントがあったが、 今年は、ずっとブレークスルーが起きず、スコアが停滞し続けてしまい、最後の1.5時間ぐらいで駆け込みでスコアが少し伸びただけであった。。。
get_events / get_event の処理が改善できず... ベストで 4,258 で 最後は 3,120 で終了で予選敗退となった...
おまけ
オフィスで3人で作業していたら、急にオフィスのドアが開いて、忘れ物を取りに来た同僚に写真を撮ってもらった
おわり
今年も、力及ばず予選敗退になってしまった。。。来年こそは予選突破したい! 運営の皆様、ありがとうございました!
builderscon 2018 tokyo に行ってきた #builderscon
今年も Discover something new! ということで、前夜祭から行ってきた。
# 前夜祭
- やっぱり闇の話はすごい...
- ピカピカ光るなにかほしい!
- ロボットボールって作れるんだ..!
# NAFUDA
とりいそぎ設定した #builderscon
# 1日目
- envoy 便利そうだなあ
- 謎ガジェットの原価...
# 2日目
# おまけ
同僚と記念撮影した
builderscon.io#builderscon twitter/instagram:@hdeinc
# まとめ
- 今年は、勤務先がスポンサーしたこともあって、同僚とワイワイ過ごせた
- 失敗とか闇とかの話はぐっとくるものがある
- NAFUDAハックするぞ!
- 登壇されたみなさま、運営チームのみなさま、ありがとうございました!
ISUCON7 予選敗退した #isucon
今年も ISUCON の予選に挑戦した。
また転職したので、社内でメン募を行って、エントリした。
チーム名は ウデムシマニア。
今回は他の2人が初参戦だったため、9月末の土曜日に会社に集まって事前練習を一度行った。
予選の内容は、isubata なるチャットサービスを複数台構成で最適化するものだった。
メンバーの役割分担は、SmartHRのテックブログに書いてある感じで作業をした。
ログをプロファイルしたり、ベンチマークのログから、画像の配信がネックであることが読み取れたので、画像を MySQLから取り出して、
各サーバにファイルとしておいて nginx でserve してということをしたりして、スコアはそこそこ伸びたものの、画像を304で返すことができずに終了してまった。
画像をnginx で返すことはできていたものの、初期のファイルの書き出しを /initilize で行っていたため、各サーバのファイルのtimestampがバラバラかつ、
ベンチマークがアップロードするファイルを、各サーバにscp する際も timestamp のコピーを忘れたので、cacheが全く効いていなかった...
複数台構成にした際に、画像を一つの サーバから配信する方法というのが、 実務ではS3に頼り切ってるため、全く手が出せなかったのも大きかった。
(goofys で S3 mountしちゃうとか考えたけど、それは、明らかにレギュレーション違反だったので、、、)
NFSは遅いしそれ以外でというのが全く思い浮かばず、、
予選突破された方のブログを読むと、nginx でやったり、WebDAVでやったり、 varnish でやったりと、やり方はいくらでもあるようだったので、明らかに実力不足だった。
あと、puma を unixsocket で 起動したものの、 nginx 側の設定がうまく行かず、結局 port を listen する方式のままだったのが悔やまれる。。
また、ベンチマークの結果のログメッセージをうまく読み取れておらず*1、それに引きづられてしまって、時間を使ってしまった。
こまかな作業ログは、こちら GitHub - meganemura/isucon7
ただし、nginx の設定をrepository に入れ忘れてる。。
スコアのログ
time | score |
---|---|
2017-10-22T13:07:23 | 3971 |
2017-10-22T13:13:14 | 2879 |
2017-10-22T13:21:50 | 3965 |
2017-10-22T14:51:32 | 5837 |
2017-10-22T15:23:30 | 5619 |
2017-10-22T15:37:54 | 5843 |
2017-10-22T15:45:28 | 6068 |
2017-10-22T15:47:19 | 3948 |
2017-10-22T15:52:07 | 6081 |
2017-10-22T15:59:50 | 10666 |
2017-10-22T16:11:26 | 18030 |
2017-10-22T16:14:56 | 13780 |
2017-10-22T16:36:34 | 22387 |
2017-10-22T16:43:15 | 22635 |
2017-10-22T16:46:38 | 23097 |
2017-10-22T16:52:13 | 24015 |
2017-10-22T17:02:05 | 23295 |
2017-10-22T17:10:27 | 25863 |
2017-10-22T17:11:39 | 29664 |
2017-10-22T17:21:13 | 28363 |
2017-10-22T17:25:18 | 26061 |
2017-10-22T17:35:08 | 40704 |
2017-10-22T17:50:36 | 39790 |
2017-10-22T17:53:05 | 32632 |
2017-10-22T18:02:46 | 31570 |
2017-10-22T18:04:44 | 34949 |
2017-10-22T18:08:33 | 31768 |
2017-10-22T18:10:40 | 35023 |
2017-10-22T18:12:13 | 33783 |
2017-10-22T18:17:32 | 18398 |
2017-10-22T18:25:05 | 23806 |
2017-10-22T18:30:03 | 20030 |
2017-10-22T18:34:14 | 37193 |
2017-10-22T18:37:00 | 36867 |
2017-10-22T18:41:14 | 30252 |
2017-10-22T19:05:42 | 33042 |
2017-10-22T19:11:29 | 35268 |
2017-10-22T19:14:03 | 33025 |
2017-10-22T19:23:54 | 36749 |
2017-10-22T19:26:25 | 41020 |
2017-10-22T19:31:08 | 38828 |
2017-10-22T19:37:23 | 40640 |
2017-10-22T19:47:06 | 34930 |
2017-10-22T19:51:07 | 41707 |
2017-10-22T19:52:53 | 54367 |
2017-10-22T19:55:38 | 45560 |
2017-10-22T20:03:02 | 52380 |
2017-10-22T20:09:49 | 49159 |
2017-10-22T20:15:11 | 47085 |
2017-10-22T20:17:06 | 36081 |
2017-10-22T20:18:40 | 39018 |
2017-10-22T20:21:15 | 52990 |
2017-10-22T20:23:55 | 41478 |
2017-10-22T20:25:18 | 44206 |
2017-10-22T20:32:40 | 45805 |
2017-10-22T20:38:38 | 55714 |
2017-10-22T20:42:23 | 39386 |
2017-10-22T20:43:40 | 45687 |
2017-10-22T20:47:03 | 42989 |
2017-10-22T20:48:23 | 47609 |
2017-10-22T20:49:36 | 39142 |
2017-10-22T20:51:03 | 43979 |
2017-10-22T20:55:37 | 37914 |
2017-10-22T20:58:21 | 41095 |
余談
予選中にオフィスの扉が開いたと思ったら、社長がやってきた。
#500strong のイベントあがりにオフィスよったら #isucon 参加チームが頑張ってた https://t.co/MTBrY1aYAh pic.twitter.com/rJsiMn0fTz
— 宮田 昇始 (@miyasho88) October 22, 2017
予選のスコアがいまいち伸びておらず、社長の相手を無下にしていたら、寂しそうに蒙古タンメン中本に行くと言って去っていきました...
おわり
今年も、力及ばず予選敗退になってしまったけど、チームメンバからは、絶対来年も出たいという気持ちを得られたので、次は予選突破したい!
予選で複数台構成の問題をつくったり、そもそものサーバのセットアップなど、運営の皆様、ありがとうございました!
*1:当日レギュレーションの読み込み不足
builderscon tokyo 2017 に行ってきた #builderscon
Discover something new! ということで、前夜祭から行ってきた。
前夜祭
前夜祭の技術撤退スペシャルは、当時の思い出も蘇って「わかる」「ぐえええ」などという気持ちでて、大変良かった。
表には出ない話を聞けて本当によかった。登壇者の皆様ありがとうございました。
初日
- Electron でデスクトップアプリを作りたい気持ちが高まった
- Data is 神
- 1Tbps の DDos
- k8s はやっぱり実際につかってみないとわからないので、使っていく
- QRコードが分割できることをしれた
- しゃもじ大喜利すごい
できた! #builderscon pic.twitter.com/JrK7whxQOY
— Takumi Kanzaki (@tknzk) 2017年8月4日
2日目
その他
- 帰宅後、妻になんかよくわかってなかったけど、夫にとってのフェスだったんだねと言われた
- バックとTシャツが何故か4セット手元にあった
- バックのQRコードの謎をといた
合体させた! #builderscon pic.twitter.com/jIwzLyRphY
— Takumi Kanzaki (@tknzk) 2017年8月5日
builderscon tokyo 2016に参加した #builderscon
チケットが3hで売り切れたbuilderscon tokyo 2016 に行ってきた。
会場がredbullさまということで飲み物の持ち込み禁止でfree redbullだった。
個別の講演内容は割愛して、感想を箇条書きでかいてみる。
- 生のmattnさん
- windowsつらそう
- go便利
- vimつよい
- 工場の生産管理を自動化するの楽しそう
- automatic smile cameraいい
- 子供の成長はあっというま
- 親バカハックとてもいい
- ゲームAIすごい
- プレゼンの濃度がこすぎた
- docker swarmつらそう
- code自動生成はツラミからの開放になるのか
- k8s時間とって触ってみる
- FPGAがどんなものかを理解するところからはじめる
- KHHH問題
講演がいろんなレイヤーの物があってとても刺激になった
次回はもっと規模が大きくなるとのことなので、参加したい!
運営の皆様、登壇の皆様、ありがとうございました!!
ISUCON6の予選にでて惨敗だった #isucon
今年も、ISUCONに挑戦した。チームは、社内のバックエンドチームの新卒2年目の二人とチームを組んで、予選に挑んだ。チーム名はファッションモンスター。
ざっくり、やることの分担としては、自分がしたまわりをやって、二人がアプリを改善していくということで進めていった。
予選の内容としては、マイクロサービス化されたwikiシステムで、はてなスター的なスター機能をもつものと、投稿のSPAM判定を行うブラックボックスなものの3つを上手く最適化させる必要があるものだった。
rubyの初期スコアが0点で、本当にゼロからのスタートで進めた。
方針としては、キャッシュできるところをキャッシュしまくっていこうということで、もろもろredisに乗せていったが、
結果的には、BESTでも6200点ぐらいしかでず、惨敗だった。
途中、gitがconflictしてしまって、雑にディレクトリごと切り替えてしまったせいで、サーバでgit pullしてるのに、意図しないエラーがでてるという状況に陥ってしまった*1
それを、切り戻すなどして時間をくってしまったり、unicornのログを最初出していないせいで、バグ取りが全くはかどらなかったりと、落ち着けばなんでもないことが、時間に焦ってしまってうまくできないなどあった。
敗因としては、本当の意味でのボトルネックを見つけきることができず、手持ちでやれることをミクロでやってしまったのが敗因だった。
手持ちの武器がcacheすればいいんでしょという感じで進めてしまったのも良くなかった。
twitterでの感想をよんでるかぎり、教養が足りず、そもそも戦えてなかったという感じだった..
あと、10時になって、さあスタートというタイミングで、業務のバッチがエラーはいたalertが飛んで、一瞬あせったということもあったりした。
ともあれ、今年も参加できて悔しい思いができたので、参加して良かったです。
出題、運営の皆様ありがとうございました!
また来年挑戦したいです。