Fluentd Casual Talks vol.3 に行ってきた #fluendcasual
3回目となるFluentd Casual Talks に行ってきた。なんだかんだでFluentdの勉強会は毎回参加してる気がする。
今回勉強になったとこ
- @tagomoris norikraの話
- Norikra便利そうだから、時期を見て試したい
- casual use は fluent-plugin-out-norikra-filter
- 読み方はノリクラ
- @sonots (DeNA枠)Fluentdでshadowサーバ用意したら捗った話
- shadow proxy を手軽に試せるのは良さそう
- 負荷テスト用のpluginとか検証結果とか参考になった
- @stanaka fluentd go implementation (仮)
- golang の紹介
- ik (アイケー)
- @okahashi117 Windows版fluentdで幸せになれますか
- windowsの環境で使うことは無いけど、実際動いてたのですごい!
- golang の実装ができれば、バイナリでwindowsでも動くのかな?
- @kzk_mover TD枠で何か
- ついにモニタリングサービスを提供
- Treasure Agent Monitoring Service
- Free
- アラート機能も実装予定
- publishしようとしてカジュアルにセキリティ事故が起きそうでびっくりした
- @kenjiskywalker 増えすぎた設定ファイルの行数をどうするか みたいな話をChefのcookbookとくっつけて
- Chef でtd-agent.conf をプラガブルに設定する話
- 長くなりがちなtd-agent.conf を個別設定にしておいてChefで組み合わせて構築する
- @yoshi_ken Fluentd as a Middleware Engine
- MySQLのレプリケートをFluentd経由でElasticsearch に行うミドルウェア Yamabiko
- だいぶ捗りそうで準同期で検索エンジン構築できるのはすごい!
- 導入まで検証したい
- @bash0C7 ご家庭でfluentd
- @kazegusuri OutputとBufferedOutputの間をうめる
- OutputとBufferOutputの手が届かない部分をうめたPlugin
- @choplin postgres関連の何か
- pg_json, pg_msgpack
- postgresも再度検証候補にしないといけない
- @frsyuki Fluentd v11について
- v11 preview release!
- 無停止再起動など
MySQL Casual Talks vol.5 にいってきた #mysqlcasual
Go Conference 2013 autumn に行ってきた #gocon
ごーこんに行ってきた。
午前中はhackathonタイムだったので、qiitaでgolangでざっくり検索して、revel というWAFをためしてみることにした。
GOPATH に適宜PATHを通して go get revel でインストール revel new myapp でアプリケーション作成 revel run myapp で localhost:9000 で起動するところまで確認
サンプルのアプリがrevelに同梱されているので、適宜コピーしてみた
twitterのoauth認証をして、mentions, status/update が動くことを確認。
user_timelineもサンプルを少しだけいじれば表示できたので、それも確認できた。
あと、chatappのサンプルコードをコピーして実行したけど、こちらは、
# app/controllers/refresh.go import ( github.com/robfig/revel/samples/chat/app/routes )
の部分でこけてしまってローカルにおいたファイルではうまく起動ができなかった。
午後の部は、Andrew Gerrandさんのkeynote と live coding をきいて、
各種LT/プレゼンをきいた。
ISUCON3の予選の話とか、goで実装したプレゼンツールの話とかが特に面白かった。
PaaS/IaaS でgoを動かす話もとても参考になったし、Nitrous.IO というサービスを初めてしれてよかった。
golangの細かい話は、正直なところよくわからないので、中身がおえなかった。
golangを始める取っ掛かりになって、10:00〜18:00 までと長丁場だったけど、いけてよかった。
主催の皆さん、登壇をされた皆さん、会場提供のMicroSoftさん、ありがとうございました!
2013年秋 Web開発最前線テックトークに行ってきた #webdev_now
2013年秋 Web開発最前線テックトークにWeb開発のトレンドを聞ける感があったのでいってみた。
Ruby, node.js, Scala, JavaScript フロントエンド という内容での登壇で、全く知らないこともありつつ、
何も知らなすぎて、手を付けられない感じだったのを、今回の発表をきくことで、はやりのFWや、パッケージ、を知ることができたし、
どのバージョンを使えばよいのかや、ハマりどころなどを聞けてよかった。
あと、もう好き嫌いを言ってる場合じゃない感じになってきてるので、JavaScriptをちゃんと勉強しようと改めて思い直した。
登壇のみなさま、主催のじげんさま、ありがとうございました!
ISUCON予選に出た #isucon
ISUCON2013の予選にでた。
事前準備は、あまりできなかったので、ほぼぶっつけ本番で1日目の予選に参加した。
当日 9:30 に 相方のid:urapico とオンラインで待ち合わせ。*1
google hangout と IRCでコミュニケーションをとった。
10:00開始で、運営から発表さらたAMIをもとにAWSのコンソールから指定のm3.xlargeでEC2インスタンスを起動。
urapico にざっくり内容を見てもらいつつ、サーバへの接続環境を整えつつ*2、bitbucketにつくったgitのレポジトリに対象のwebapp をまるっとpushした。
対象のwebapp は memoアプリでsignin/signout があるものだったので、PHP の実装をみて、手をいれるところを探った。
改修したらbenchmark を流すということをすすめて、実際のボトルネックになってるのは、mysqlのcpuが効いてるところまで把握。
また、php のデフォルトの状態でもbenchmarkツールがfailを吐くので、それをコードベースで治そうということして、urapico には、そこを追ってもらうことにした。自分は、mysqlとか、apacheとかphpとかのconfig周りを適宜いじった。
あと、netstat で 通常のmemcacheが握ってる11211 port をmysqlが握ってるのを見つけたけど、特に対策せず。*3
そうこうしていて、お昼になったところで、urapico が奥様の体調不良と、1歳になったばかりの息子の世話で離脱。。
その後、一人ですすめることになった。
結局、やったことは、mysqlのslowqueryを握りつぶすために、適切なindexを張ったのと、memos tableにusername を入れることにしてその事前準備用の仕込みと、phpコード内での、改修にとどまった。
事前準備用の仕込みは、benchmarkツールがベンチをとるたびにmysqlのデータを初期化するので、benchmarkツールのオプションで渡せるinit スクリプトに mysql のalter文、update文を作成。これが微妙に時間が取られてしまった。
終了間際で、benchmarkツールの--workload をあげてみたら、デフォルトの状態からでてたfailがあまりでなくなることがわかったので、apache等が死なないぎりぎりのラインまであげて、計測をまわした。
最終スコアは、3027 でトップの足元にも及ばない結果に終わって残念だった。トップの方々はおそらくmysqlをそうそうに捨てて、オンメモリのものに入れ替えたんだろうと予測できるけど、8時間の限られた時間の中での実装力が求められるので技術と経験が必要だろうなとおもった。
反省点
- オンラインでやるのは、ちょっと厳しかった(どこかにあつまってやるべきだった)
- ボトルネックの把握と、その対応をどうするかを時間の換算をしながらやるべきだった
- 時間がなくてもcommit logはちゃんと書く
- 前日に飲みに行かない
時間がなくてできなかったこと
- countをcacheする
- nginxにいれかえる
まだ、予選がおわっただけなので、本戦はこれからですが、運営の皆様、出題のkayacの方々、ありがとうございました!!
また、来年開催されれば、今回の反省点を踏まえてのぞみたいと思います!
ISUCON予選参加登録した
id:urapico を口説けたので、ISUCON予選に参加登録した。
@urapico 10.5 いかがですか?
— ʞzuʞʇ (@tknzk) 2013, 9月 18
@urapico are u sure want to entry ISUCON of 10.5 ?
— ʞzuʞʇ (@tknzk) 2013, 9月 20
@urapico いぇあ!
— ʞzuʞʇ (@tknzk) 2013, 9月 20
— ʞzuʞʇ (@tknzk) 2013, 9月 20
@urapico entry done. id:59 team:jindaiz
— ʞzuʞʇ (@tknzk) 2013, 9月 20
ISUCON予選でるぞい
— ʞzuʞʇ (@tknzk) 2013, 9月 20