タグ

ブックマーク / developer.cybozu.co.jp (20)

  • データセンター移転とDRBD - Cybozu Inside Out | サイボウズエンジニアのブログ

    @ymmt2005 こと山泰宇です。今回は去る 5 月から 6 月にかけて行った、cybozu.com のデータセンター移転作業について、失敗してしまったことを中心に解説します。 失敗と書いたのは、移転作業中に何度か、一部のお客様環境でストレージ高負荷による障害を起こしてしまったためです。移転作業自体はスケジュール通り進行し、6 月第二週に完了しています。障害に関しては、こちら(PDF)でお詫びとご報告をしていますが、この記事では技術面ならびに障害を引き起こすにいたった背景について詳述します。 移転に至った背景 移転方式の検討 ストレージ同期の方法 DRBD による同期の詳細 まずは自社環境を移転、成功 そして障害は発生した なぜ障害につながったのか まとめ 移転に至った背景 まず、なぜデータセンターを移転することにしたかを説明します。 端的に言うと、当時のデータセンターが手狭になり拡張

    データセンター移転とDRBD - Cybozu Inside Out | サイボウズエンジニアのブログ
    gnw
    gnw 2013/07/22
  • Kazuho@Cybozu Labs: 監視とは継続的なテストである、という話 (もしくは cronlog とテストスクリプトを組み合わせた監視手法について)

    結論から先に。cronlog を使えば、アプリケーションのテストコードと全く同じ形式で、監視用のスクリプトを書くことができます。プログラマが監視ツールの記法を覚える必要はありません。これは、プログラマが運用も行うケースでは特に有効な手法だと思います。 先週公開した Kazuho@Cybozu Labs: crontab を使って効率的にサービス監視する方法 というエントリで、crontab と拙作の cronlog を用いてサービス監視を書く手法を紹介しました。しかし、挙げた例はいずれも ping や http のテストといった外形監視の手法です。RDBMS とウェブアプリケーションのみから構成されるサービスならそれだけで十分でしょう。 しかし、外形監視だけでは、メッセージキューのような非同期処理の遅延を観測することはできません。また、http のログを監視して、エラーレスポンスや平均応答

    gnw
    gnw 2010/01/19
  • Kazuho@Cybozu Labs: crontab を使って効率的にサービス監視する方法

    監視とは継続的なテストである、という話 (もしくは cronlog とテストスクリプトを組み合わせた監視手法について)に続きます 今日ようやく、積ん読状態だった「Software Design 2010年1月号」を手に取ったのですが、特集が「今日から使えるスクリプト満載! [プロ直伝]お手軽サーバ監視術」。興味深く拝読したのですが、もっと楽ができるのにと思うところも。ちょうど、昨年末に運用しているサービス「パストラック」のサーバを移転し、crontab と perl で書かれたスクリプト群を使った監視環境を構築したところなので、そこで使っているスクリプト cronlog を紹介したいと思います。 特集の前書きにも書かれていることですが、サーバやネットワーク機器が多数ある環境なら、Nagios を始めとする、専ら監視のために作られたソフトウェアを使って、監視システムを構築すべきです。逆に小規

    gnw
    gnw 2010/01/14
  • コスト比でみたインターネット接続速度の世界ランキング | 秋元@サイボウズラボ・プログラマー・ブログ

    各国でどれぐらいの速さのネット回線が使えるか「ではなく」、1Mbpsあたりの価格で比較したランキングだそうです。 Find the best cell phone plans and more graphics at BillShrink.com これによると、日の、一ヶ月・1Mbpsあたりのコスト27セント(25円)は世界一安いんだとか。グラフでは突出して速度あたりの単価が安い国という風に見えます。 # 僕のうちはあまり速くないので、「日の平均は61Mbps」とか見るとほんとかねと思ったりもしますが Akamaiの調査で8Mbpsですね。全米通信労働組合の調査[pdf]では15.8Mbps。こっちの方が実感に近いなあ。

    コスト比でみたインターネット接続速度の世界ランキング | 秋元@サイボウズラボ・プログラマー・ブログ
    gnw
    gnw 2009/10/26
  • 13,400円で宇宙からの写真を撮ったMITの学生の話 | 秋元@サイボウズラボ・プログラマー・ブログ

    これがその写真の一枚 マサチューセッツ工科大の二人の学生Justin LeeさんとOliver Yehさんが、普通にお店で入手できる部品を組み合わせることで、これまでにない超低予算(148ドル)での成層圏からの地球撮影に成功した、ということです。 その手順ですが、まず、気象観測用の300グラムのゴム気球(1800円)、それにパーティーグッズの店でヘリウムを2700円分詰めてもらいます。 成層圏での気温は-55度にもなるので、普通のバッテリーは動かなくなります。そこで、高価な耐寒機器やヒーターを搭載する代わりに、携帯カイロを電気系に密着させ発泡スチロールでカバーします。 撮影した写真がどの高さから取られているかを記録し、撮影を終えたカメラを回収するためには、カメラの場所を追跡する必要がありますが、これも高価で重いGPSモデムではなく、GPS内蔵の携帯電話(4500円)を使うことに。カメラと接

    13,400円で宇宙からの写真を撮ったMITの学生の話 | 秋元@サイボウズラボ・プログラマー・ブログ
    gnw
    gnw 2009/09/14
  • Kazuho@Cybozu Labs: PostgreSQL のボトルネックを統計的に監視・解析する方法

    先日書いた「MySQL のボトルネックを統計的に監視・解析する方法」について、PostgreSQL でも pg_stat_activity テーブルを使って実行中のクエリ一覧を取得できると higepon さんに教えてもらったので、やってみました。 % ppdump > ppdump.txt のようにクエリをサンプリング (デフォルトで100秒間程度) して、 % ppfilter < ppdump.txt | ppreport のようにすると、平均負荷の高いクエリから順にソートされて表示されます。詳しい使い方や考え方については、mprofile のエントリをご参照ください。 pprofile のソースコードは、/platform/postgresql/pprofile – CodeRepos::Share – Tracに置いてあります。負荷が高い PostgreSQL 環境が手元にないの

  • Phototype – JavascriptとPHPで画像操作を行なうライブラリ | 秋元@サイボウズラボ・プログラマー・ブログ

    Phototypeは、Javascriptの呼び出してサーバ側のPHP/GDを呼び出し、画像を加工させるというアイデアの実装サンプル。 こういう元画像を、 縮めて、回転させて、影をつけて、キャプションをつけると、こう表示される。 Javascript側は、PHPの呼び出しをラップしただけで、ほとんど処理らしい処理は無い。PHP側では、指定した画像をURL経由で読み込んで、GDで変換して表示しているが、ソースを見ると危険が満載なので、これをそのまま設置して使ったりはしない方がいい。あくまで「やってみた」レベルの話だと思う。 作者のページのサンプルも、結果の画像をstaticに保存しなおして貼ってあるぐらいなので、表示のたびにPHPで画像を生成するこのままの仕組みでは実用にならないとは思うけれど、パラメータの受け取りやエラー処理を改善し、キャッシュを効かせて限定した用途で使えば、Javascr

    Phototype – JavascriptとPHPで画像操作を行なうライブラリ | 秋元@サイボウズラボ・プログラマー・ブログ
  • Kazuho@Cybozu Labs: Pacific という名前の分散ストレージを作り始めた件

    大規模なウェブアプリケーションのボトルネックがデータベースであるという点については、多くの同意が得られるところだと思います。解決策としては、同じ種類のデータを複数の RDBMS に保存する「sharding」 (別名:アプリケーションレベルパーティショニング/レベル2分散注1) が一般的ですが、最近では、分散キーバリューストア (分散 KVS) を使おうとする試みもみられるようになってきています。 分散 KVS が RDBMS sharding に対して優れている要素としては、事前の分割設計が不要で、動的なノード追加(とそれにともなう負荷の再分散)が容易、といった点が挙げられると思います。一方で、Kai や Kumofs のような最近の実装では eventually consistent でこそ無くなってきているものの、ハッシュベースの分散 KVS は、レンジクエリができなかったり (例:

    gnw
    gnw 2009/06/10
  • 秋元@サイボウズラボ・プログラマー・ブログ: 究極の.htaccess?

    via del.icio.us/popular Apacheのフォルダローカルな設定ファイル.htaccess で使いそうな設定をかたっぱしから書き込んだファイル。 メイン、スクリプト関連、ヘッダ(キャッシュや最速化)、URL書き換え、認証、SSL、開発中サイト、というようなジャンルごとに、よく使われそうなディレクティブがずらずらと並んでいる。PHPの設定、cool URLの設定、エラーページ、認証の掛けかた、などなど。 書き換えるべきところは英単語で何を書くのかわかるようになっているので、コメントとあわせて思い出しながらコメントを外していくとそれなりに使えそうな .htaccess が作れるかもしれない。僕なんかは細かい設定方法すぐ忘れてしまって検索することが多いので、これで楽になりそう。 # 当に不要なものはコメントにせずファイルから消すべきだし、安定運用に入ったら.htaccess

    秋元@サイボウズラボ・プログラマー・ブログ: 究極の.htaccess?
    gnw
    gnw 2007/08/28
  • 秋元@サイボウズラボ・プログラマー・ブログ: YSlow for Firebug ページのチューニングを助言してくれるFirefoxアドオン

    via Ajaxian Yahoo! Developer NetworkからリリースされたYSlowは、Firefox+Firebugのアドオンとして、ページの表示速度の改善点を列挙してくれるというツールだ。 ここのところ、ウェブサイトのパフォーマンス改善で積極的に資料を公開しているYahoo!が、ツールも出してきた。今日のOSConにて発表されたもののようだ。 アドオンをインストールして任意のページを開くと、Firebugのメニューの中にYSlowが追加される。Performanceのタブには、パフォーマンスの点数(下記では「C(71)」)と、13の項目のそれぞれについてパフォーマンス対策がされているかどうかを、A~Fのグレードで表示してくれる。 それぞれの指摘をクリックすると、Yahooの解説ページに飛んで、何がパフォーマンスの障害になっているのか、何をどう直すと改善されるのか、が読め

    秋元@サイボウズラボ・プログラマー・ブログ: YSlow for Firebug ページのチューニングを助言してくれるFirefoxアドオン
  • PHP+Windowsでスクリーンショットやサムネイル作成 | 秋元@サイボウズラボ・プログラマー・ブログ

    via The Pimp Windowsだけだが、COMで取ったウィンドウハンドルからウィンドウの画像をキャプチャする機能をPHPのGD拡張に追加した、という話が。 Screen capture with PHP and GD “here”で配られているビルド済みの php_gd2.dll を、PHP5.2にもともとついてる php_gd2.dll に差し替え、リンク先の記事にあるサンプルを呼んでみると、Windowのキャプチャも全画面のスクリーンショットも取れて、pngファイルになった。 ということは、SimpleAPIみたいなサムネイル生成サービス を簡単に作れるようになった、ということだな。 Windowsのスクリーンショットなんて下の2行で取れるので、 $im = imagegrabscreen(); imagepng($im, "myscreenshot.png"); PHPで各

  • 世界の歴史Flashふたたび | 秋元@サイボウズラボ・プログラマー・ブログ

    宗教とイデオロギーの盛衰地図 on Flashでは、英BBCによるダイナミックな歴史地図のFlashを紹介した。 そのときに、Maps of Warというサイトにある他のFlashもリンクだけ紹介したのだけれど、そのMaps of Warにも別バージョンの宗教の歴史Flashが登場し、話題を呼んでいる。いわゆる五大宗教の分布の経年変化が、イベントと共に描かれている。 前にあった中東の歴史Flashも埋め込んでみる。 こういうのは、世界史好き、Civilization好きだった自分としては、たまらないワクワク感がある。 このサイトでは、他にアメリカ合衆国の歴史、イラク戦争関係の地図などがFlashで作られて、提供されている。 中国歴史版と日国内の歴史版もほしいなあ。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が

  • GoogleがAjaxフレームワークのGWTをオープンソース化 | 秋元@サイボウズラボ・プログラマー・ブログ

    Google Web Toolkit(GWT)の公式ブログで、GWT1.3のリリース候補版がApache 2.0ライセンスになってリリースされたことがアナウンスされた。 バージョン1.3は、前の1.2から機能が増えたわけではなく、バージョンを上げた最大の理由はオープンソースライセンスへの変更にあるということ。 JavaだけでAjaxアプリケーションを開発できるGWTは、Javascriptに詳しくなくてもサーバ側の言語を知っているだけで開発できることや、ブラウザ互換性の吸収、デザインやデバッグの簡易化などの利点がある。 GWTについて、詳しくは弊社の親会社であるサイボウズの開発部が調査しているのでそちらを参照されたい。 GWTはWebアプリケーションを作成するJava使いにとっての一つの大きな助けではあったが、これまではGWT体の内部がGoogle外に公開されていなかったため、無料ではあ

  • 秋元@サイボウズラボ・プログラマー・ブログ: Flashによる複数ファイルアップロードライブラリSWFUpload

    via Ajaxian SWFUploadというFlashのライブラリがAjaxianで紹介されているが、これけっこういいのではないか。 ファイルダイアログで表示される拡張子を指定できる 複数ファイルを、CtrlやShiftで選択できる イベント毎にJavascriptのハンドラを呼べる アップロード開始前にファイルの情報がわかる プログレスバーが表示できる ページ全体のリロード無しにアップロードされたファイルを表示できる Flashの動く環境すべてで動く FlashやJavascriptが使えない環境でも、通常のフォームアップロードになる 最後の項目は重要だろう。 リンク先でデモを試せる。”Try it out!”ボタンを押して、適当なファイルを複数選び、アップロードすると、ファイルサイズやプログレスバーが表示される。 複数アップロードは、Webアプリでよく要望されて困るところだし、プロ

    秋元@サイボウズラボ・プログラマー・ブログ: Flashによる複数ファイルアップロードライブラリSWFUpload
    gnw
    gnw 2006/11/17
  • 書いたものが物理法則に従い動くホワイトボード(動画) | 秋元@サイボウズラボ・プログラマー・ブログ

    物理の授業で良く出てくるような、ボール、車、ねじや重力の方向などを書いたホワイトボードだが、そのまま実行することができる、という技術の動画。 MITのMulti-Domain Sketch Recognitionという研究らしい。オリジナルの動画はこちらのページでダウンロード可能。他に振り子を書いた様子の動画もある。 物理法則通りに書いたものを動かすアプリケーションの方は以前からあって、この研究はホワイトボードの入力インタフェースのところが肝らしい。 この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

    gnw
    gnw 2006/10/06
  • 秋元@サイボウズラボ・プログラマー・ブログ: 複数のIEをまとめてインストールするパッケージ

    Install multiple versions of IE on your PCで、IE3からIE6までの異なるバージョンのIEを選んでインストールできるインストーラというのが配られている。 IE4やIE5を単体で動く形で配布しているサイトは前からあった。まあこれでもいいんだけど、インストーラのほうは複数バージョンが組み込まれていて、どれを入れるか選択できて、ショートカットも生成できるということでさらに楽になってる。 もちろん、改造されたバイナリの非公式な配布なので、このインストーラや入れたIEに何か変な仕掛けがあるということもあるかもしれないが。 IE7との共存のほうはこっちの記事に書かれている。 # どちらにしても、単体で動かす別バージョンのIEでは、いろいろ不具合や動かない機能があるようなので、単純な画面描画のチェックぐらいにしか使えないだろうとは思う。 [参考] IE7ベータを

  • ウェブデザイン向け定規とグリッド | 秋元@サイボウズラボ・プログラマー・ブログ

    ページの背景画面に、定規のイメージを置いておくと、CSS による要素の配置や微調整がうまくいくんじゃないか、という話。 定規はこちら。( via Airbag ) これをさらに2次元にしたのが、バックグラウンド画像グリッド。利用イメージはこちら。 ( via Smiley Cat ) この記事は移転前の古いURLで公開された時のものですブックマークが新旧で分散している場合があります。移転前は現在とは文体が違い「である」調です。(参考)記事の内容が古くて役に立たなくなっている、という場合にはコメントやツイッターでご指摘いただければ幸いです。最新の状況を調べて新しい記事を書くかもしれません

    gnw
    gnw 2006/07/19
  • 飛行機の座席、どこがいい? | 秋元@サイボウズラボ・プログラマー・ブログ

    オンライン購入や自動チェックイン機などでも、飛行機の座席予約や座席指定ができるようになって久しい。 窓側・通路側、前が空いている席、ぐらいの判断基準で座席を決める人は多いけれど、よく飛行機に乗る人、旅なれた人のノウハウを集めて、うまくまとめて公開しているサービスがある。 http://www.seatguru.com/ http://www.lovemyseat.com/ Seat Guru, LoveMySeat は、 「座席の導師」「座席大好き」というような意味のネーミングか。 これらのサイトでは、各航空会社の様々な機体について、個々の座席の快適さ情報を集めて見せている。たとえば、ANA の使っているボーイング747-400、座席数323席の機体だと、それぞれ以下のリンクになる。 SeatGuru LoveMySeat 飛行機の座席表が、良い・普通・悪いと色分けされ、座席の上にマウスを

    飛行機の座席、どこがいい? | 秋元@サイボウズラボ・プログラマー・ブログ
    gnw
    gnw 2006/06/17
  • 秋元@サイボウズラボ・プログラマー・ブログ Alexa ランキング―どれだけ信頼できるか―

    japan.internet.com 併載コラム Alexa は、オンライン書店の雄 Amazon が 1999年に買収した子会社で、Web サイトがどれだけの人に見られているかを調査することを事業としている。テレビでいう視聴率調査に似たサービスだ。 http://alexa.com/ で、調べたい Web サイトのドメイン名を入力すると、そのドメイン名のサイトに対するアクセス量(トラフィック)や訪問者数、一回の訪問あたりの閲覧ページ数などの情報が表示される。今のところページの表示は英語だが、主な内容はグラフと表で示されるため、慣れれば英語であることは気にならないと思う。 ユーザーがブラウザで直接それぞれの Web サイトを見に行くという WWW の仕組みで、無関係な第三者の Alexa が「誰がいつ、どのサイトを見たか」というデータをどうして取れるのか。「Alexa ツールバー」というブ

    gnw
    gnw 2006/06/13
  • 秋元@サイボウズ研究所プログラマーBlog: Google AdSense API がベータ公開

    Google AdSense のブログにて、Google AdSense API のベータ公開がアナウンスされている。 公式ブログの解説によれば、この API によって、自分のサイトのユーザに対して AdSense の申し込みをさせたり、すでに AdSense アカウントを持っているユーザにも AdSense アカウントの管理を自分のサイト上で提供できるようになるということだ。 たとえば、無料ブログスペースなどが、自社サービスを使ってブログを作っているユーザに対して、AdSense の申し込みを勧誘するような使い方があるのではと思った。ブログサービス側ではユーザを集めるためのインセンティブになるし、AdSense の紹介プログラム( 照会先の収入によっては$100得られる )という実収入もある。 このプログラムの対象は、10万ページビュー/日以上あるサイトということなので、当面はそれなりに

  • 1