« 2008年04月 | メイン | 2008年06月 »

2008年05月27日

メッセージキュー事始め with Q4M

 今日、奥が開発し Pathtraq でも使っているメッセージキュー Q4M について説明する機会があったので、自分の頭を整理しながらスライドに起こしてみました。メッセージキューとはそもそも何か、という所から始まって、Q4M の内部構造と使用方法、さらには、ウェブサービス等でキューを使うべきいくつかのシナリオについても書いてありますので、よろしければご覧ください。

 Q4M については、パフォーマンスチューニングの結果、オンメモリなら1秒間に万単位のメッセージを転送できるようになってきています。サイボウズ・ラボ以外でも Q4M が使われるようになるといいな、と思いました。

投稿者 kazuho : 2008年05月27日 18:17 | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2008年05月16日

YAPC::Asia 2008 で Pathtraq について話してきました

 YAPC::Asia 2008 で、Pathtraq の裏側の技術的特徴について話してきました。統計処理を行うウェブサービスを構築する上での問題や解決技法だけでなく、インターネットにおけるロングテールの実測データや、現在のサービス規模等の話も入っていますので、興味ある方はご覧いただければ幸いです。

 スライドはこちら: YAPC::Asia 2008 Tokyo - Pathtraq - building a computation-centric web service » SlideShare

 過去3年間で最大の YAPC::Asia だったのでしょうか。一参加者として気ままに拝聴させていただきましたが、スタッフの方々はとても大変だったと思います。ありがとうございました&おつかれさまでした!

投稿者 kazuho : 2008年05月16日 18:25 | コメント (1) | トラックバック (0) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

2008年05月01日

データベースの差分バックアップとウェブサービスのお引っ越し

 現在、Pathtraq のサーバを、オフィス内のサーバルームに設置されたマシンからデータセンタ内の新サーバへ移行する作業を行っています。その際に問題となるのは、ダウンタイムを最小にしつつ、100GB 弱ある MySQL のデータをいかに移動させるか、という点になります。答えは言うまでもなく差分転送なのですが、rsync は双方向の接続が必須だったり、差分情報をキャッシュすることができなかったり、いろいろ融通が効かなそうです。だんだん調べるのも面倒になってきたので、自分のニーズに見合う、データベースファイル用の差分バックアッププログラムを書いてみました。

/lang/c/blockdiff - CodeRepos::Share - Trac

 差分ファイルとハッシュ値の情報が別ファイルになっていたり、ファイルデスクリプタを積極的に使ったりと、柔軟な運用が可能な設計になっています (getopt とかファイル構造考えたりとかが面倒だったとも言います)。使い方は、以下のような感じ。

続きを読む "データベースの差分バックアップとウェブサービスのお引っ越し"

投稿者 kazuho : 2008年05月01日 15:56 | トラックバック (1) このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク