pt-query-digest で memcached の操作を解析する
pt-query-digest は memcached のダンプも解析することができます。
type オプションで memcached を指定するだけです。
ダンプ取得
$ sudo tcpdump -i eth0 port 11211 -s 65535 -x -n -q -tttt > /var/tmp/memcached.dump
pt-query-digest で解析
$ cat /var/tmp/memcached.dump | pt-query-digest --type=memcached | grep -v -e '^\s*#' -e '^\s*$'
こんな感じで、memcached の key へのアクセスが分かります。
get xxxxxxxxxxxxxxxxxxxx delete yyyyyyyyyyyyyyyyyyyy set zzzzzzzzzzzzzzzzzzzz get xxxxxxxxxxxxxxxxxxxx
YAPC::Asia Tokyo 2015(2日目)に行ってきた #yapcasia #yapcasia2015
ブログを書くまでがYAPCです。
1日目はこちら。
参加したセッション
Google Cloud Platform の謎テクノロジーを掘り下げる(Deep Dive into Google Cloud Technology)
GCP のお話。
以下の 4 点をお話されてました。
- Big Data
- Container
- Networking
- The Feature
Google 社内では MapReduce は classic な技術だし、Big Query は 2006 年ごろから使っているので枯れている技術という話は興味深かった。
あと、「Google 社内で Big Data とは言わない。全てが Big Data だから。」という言葉はカッコイイと思った。
それにしても、bq 速い。
謎テクノロジーは謎のままだった。。。
我々はどのように冗長化を失敗したのか
式年遷宮インフラストラクチャ 3 部作(?)の第 2 弾のお話。
リリース前に冗長化やめたとはいえ、チャレンジしている姿勢は素晴らしいと思った。
このセッションだけではないけど、Consul が必要不可欠なツールになっているなぁと感じた。
- 期待するな、計測しろ
- 挑戦するなら、徹底的に検証しろ
- 当たり前のことを当たり前に正しく行おう
最終章期待してます!!
MySQL で2億件のシリアルデータと格闘したチューニングの話
限られたリソースの中でのチューニングのお話。
- インデックスの再構築こわい
- テストデータは、本番データとほぼ同じものを準備(数値のランダム性とか)
ソーシャルゲームにおける AWS 移行事例
オンプレミス環境ソーシャルゲームを AWS へ移行したお話。
RDS や ElasticCache for Redis を使用する際の罠とか Tips が参考になった。
- RDS はタイムゾーンが変更できない
- Percona server の mysqldump には、create table 文から unique と index を取り除くオプションがある
- ElasticChache for Redis で 10GB のデータをわたして flashall すると勝手に fail over、しかも flashall が永遠に終了しない
- RDS の Multi-AZ だと、書き込み速度が 2 倍になる(両 AZ に書き込むため)
Profiling & Optimizing in Go
Go プログラムの最適化・プロファイリング方法をライブコーディングで説明。
私のレベルだと内容的にはほとんど ? な状態でしたが、プロファイリングツールが充実していることは分かった。
Go がんばろう。
感想とか
今回も刺激的なイベントでした。
最後の YAPC::Asia と思うと、感慨深いです。
私個人としては、Perl コミュニティに何も貢献できていないので何らかの形で貢献できるようになりたいなぁと思いました。*1
最後になりましたが、スタッフのみなさん、スピーカーのみなさん、参加者のみなさん、お疲れ様でした!
おまけ
- 同時通訳がスゴかったです*2
- 無限コーヒーの紙コップがオシャレ
無限コーヒーいただきました #yapcasia pic.twitter.com/lyKkmCYlxK
— jitsu (@jitsu) August 21, 2015
- One more thing ...?
YAPC::Asia Tokyo 2015(1日目)に行ってきた #yapcasia #yapcasia2015
YAPC::Asia Tokyo 2015 に行ってきました。
ブログを書くまでがYAPCです。
参加したセッション
メリークリスマス!
Perl開発をトールキンの「ホビットの冒険」と「指輪物語」に例えながらの説明。
Perl6に興味を持ったのはもちろんですが、「ホビットの冒険」と「指輪物語」を読んでみようと思った。
Perl6は2015年のクリスマスにリリースされるそうです。*1
以下、印象に残った言葉。
- 人の価値は、何を得られるかではなく、何を与えられるか
- 正しく失敗する (I FAIL GOOD)
- Perl5とPerl6は同じ物語
- perlは成長の物語
TBD
Ruby のパパ Matz ことまつもとゆきひろ氏による、Ruby の反省点・20 年間のアーキテクチャの変化で言語設計がどう変わったか・新言語「Streem」についてのお話。
パイプラインで処理をつなげるとマルチコアを使ってくれるからシェルスクリプトが見直されているという話は面白かった。
Streem は名前だけ知っている程度で、設計思想とか知らなかったので、興味深い話でした。
Perlの上にも三年 〜 ずっとイケてるサービスを作り続ける技術 〜
はてなブログの裏のお話。
Perl の最新を求め、オブジェクト指向、ドメイン駆動開発などなど試行錯誤した内容で、すごく面白かった。
きっと、オブジェクト指向入門 と ドメイン駆動設計 本がバカ売れしていると思います。
Electron: Building desktop apps with web technologies
Electron のお話。
デモがあって、分かりやすかったと思います。
Perl チャレンジ*3なるお題が出されました。
GMO ConoHa を使ってみる(1) サインアップから API Token 発行まで
www.conoha.jp
5 月にリニューアルされた GMO ConoHa を使ってみました。
OpenStack API 互換だったり時間課金があったりと、VPS というよりは Iaas なクラウドに近い感じです。
サインアップ
アカウント作成
- https://www.conoha.jp/ にアクセスし、[ お申込み ] をクリック
- [ メールアドレス ] と [ パスワード ] を入力して、アカウント登録
- 登録した [ メールアドレス ] と [ パスワード ] でコントロールパネルにログイン
認証・ユーザ情報・支払情報入力
その他設定
- アカウント設定から [ 言語設定 ] と [ モード設定 ] を変更します*2
- 言語設定 : English
- モード設定 : ConoHa Mode
API 設定
API 設定を行い、API 認証に使用するトークンを取得できるようにします。
トークン取得
トークン取得に必要な情報は以下のものです。
- API User Name : %username%
- API User Password : %apipass%
- Tenant ID : %tenantid%
- Identity Service Endpoint : https://identity.tyo1.conoha.io/v2.0
curl -i -X POST \ -H "Accept: application/json" \ -d '{"auth":{"passwordCredentials":{"username":"%username%","password":"%apipass%"},"tenantId":"%tenantid%"}}' \ https://identity.tyo1.conoha.io/v2.0/tokens | tail -n 1 | jq -r '.'
JSON 形式でレスポンスがくるので、jq とかあると楽です。
端末リセット時のエラー (E:failed to mount /cache (invalid argument))
-- Wiping data... Formatting data... E:failed to mount /cache (invalid argument) Formatting cache... E:failed to mount /cache (invalid argument) E:Can't mount /cache/recovery/log E:Can't open /cache/recovery/log E:failed to mount /cache (invalid argument) E:Can't mount /cache/recovery/last_log E:Can't open /cache/recovery/last_log E:failed to mount /cache (invalid argument) E:Can't mount /cache/recovery/last_install E:Can't open /cache/recovery/last_install Data wipe complete. E:failed to mount /cache (invalid argument) E:Can't mount /cache/recovery/log E:Can't open /cache/recovery/log E:failed to mount /cache (invalid argument) E:Can't mount /cache/recovery/last_log E:Can't open /cache/recovery/last_log E:failed to mount /cache (invalid argument) E:Can't mount /cache/recovery/last_install E:Can't open /cache/recovery/last_install E:Failed closing /dev/block/platform/msm_sdcc.1/by-name/misc (I/O error) E:failed to mount /cache (invalid argument)
リカバリモードからの端末リセット、ファクトリリセット時に上記エラーが出た場合、システムボード不具合(ハードウェア不具合)の可能性があります。