タグ

ブックマーク / blog.stanaka.org (8)

  • Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記

    先日のShibuya.pm #9のLightening Talkで「gdbでXS on mod_perlをデバッグ」という話をしてきました。XSを使い出すと、従来のPerl的デバッグだけでは不十分なのでgdbをうまく使って、効率的にデバッグしましょう、という話です。実は、はてな社内では1年近く前に勉強で話したネタだったのですが、ようやく公開することができました。 Shibuya.pmでは5分という枠があったのでショートver.でしたが、ここでは制限はないので、来のロングバージョンの資料をアップします。ちょっと公開できない情報が混っていたので、xxxで隠していますが、ご了承ください。 ちなみに、Rubyとかでも似た感じでデバッグできると思うので、そちらの人も参考にしてください。長いよ!という人は、最後の「これは設定しておけ的gdb初期化マクロ」だけでもどうぞ。かなり便利です。 (資料公開が

    Perlプログラマのためのgdb入門(at Shibuya.pm #9 LT) - とあるはてな社員の日記
  • KOF2009「ウェブサービスのパフォーマンスとスケーラビリティ」 - stanaka's blog

    KOF2009にて、「ウェブサービスのパフォーマンスとスケーラビリティ」と題して発表してきました。発表資料を以下に置いておきます。 Performance and Scalability of Web ServiceView more presentations from Shinji Tanaka. 概要は、「ウェブサービスのパフォーマンスを向上させスケーラビリティを高めるために、はてなでは様々な取組みを行っています。セッションでは、はてなで採用している具体的な技術、ノウハウ、可視化手法と、それらの効果について紹介します。」というものです。 最近の、Interopやカーネル読書会あたりで話した内容をまとめつつ、レスポンスタイムの可視化という最近の取り組みについて話しました。 最近、レスポンスタイムについては、以下のようなグラフを使っています。 x軸がレスポンス時間、y軸がその時間内に収

    KOF2009「ウェブサービスのパフォーマンスとスケーラビリティ」 - stanaka's blog
    kgbu
    kgbu 2009/11/12
    サーバ側でできることはかなりやってるなぁ。ほかに、ページが消費するアクセスを減らすとか、クライアントサイドでデータをキャッシュするとかのチューニングもカバーして欲しいかも。
  • MySQL Conference & Expo 2007 - とあるはてな社員の日記

    一昨日から今日まで3日間の日程で開催されていた、MySQL Conference & Expo 2007に行ってきました。日帰り圏内どころか、自転車圏内で、こういうカンファレンスがあるのは、素晴しいです。 詳細は、随時アップされるであろうプレゼン資料と、Planet MySQLに大量の報告があります(全部英語ですけど)。 個人的に注目していたのは、Digg.com、Flickr.comとYoutube.comのDB周りアーキテクチャのセッションでした。あとは、http://www.mysqlperformaceblog.com/の人のセッションは、細かいTipsが多く、具体的にだいぶ役に立ちそうです。 というわけで、簡単に注目したセッションの内容を紹介してみます。ちなみに、内容の正確さは無保証です:P 気が向けば、もっといろいろ考察してみるかもしれません。 Technology at Di

    MySQL Conference & Expo 2007 - とあるはてな社員の日記
  • mod_dosdetectorの反応への反応 - stanaka's blog

    先日(id:stanaka:20070204)、公開したmod_dosdetectorですが、ブクマ数が300users越えと予想以上の反響でした。その中で、いくつかFAQ的な反応があったので、それらに対する回答です。 mod_limitipconnでもできるんじゃないの? mod_limitipconnは、同時接続数を制限して、越えた場合は、接続拒否をするというモジュールです。mod_dosdetectorは、DoS判定したクライアントのみを対象とした制御が可能です。この手の定量的なアクセス制御モジュールは、これまでにいくつか開発されているのですが、ほとんどのモジュールが単純にアクセス拒否するだけ、というのも、mod_dosdetectorの開発動機の一つです。 パフォーマンスは? 確かに余分な処理が必要となっているため、CPU負荷は増えています。しかし、はてなのサーバ構成では、リバース

    mod_dosdetectorの反応への反応 - stanaka's blog
  • はてなは京都移転するけど、インフラは東京、という話 - stanaka's blog

    はてなの京都移転話も、もうはや周回遅れ気味ですが、あまり気にせずにいきます。ちなみに、今回のエントリの結論はタイトルそのままで、データセンターは京都に移転しません、ということです。 これまで、はてなはデータセンターの移転を二度経験しています。一回目は、京都から東京で1日半ほどサービスが停止しました。その後、鉢山からさくらインターネットのiDCへ1年ほどかけて徐々に移転しました。この時は、各サービスが最大半日程度停止しました。 今回の京都移転を計画していた時もid:jkondoはいつもの調子で、自前サーバからさらに自前DCなんてどうどう?、などと言うのですが、300台程度の規模では自前DC建設の初期コストは賄えないし、また移転のために長い時間サービスを止めれられる状況でもないでしょう、ということで(幸いなことに)没になりました。やれやれ。 id:naoyaもはてなのインフラの仕事から卒業して

    はてなは京都移転するけど、インフラは東京、という話 - stanaka's blog
  • サーバにDoS耐性を付ける - stanaka's blog

    ウェブサービスでは、アクセスが集中して、サイトが落ちる、というのは、よくある話です。純粋に人気が出てアクセス集中するなら、サーバ管理側の責任と言われても、しかたないと思います。しかし、botやF5アタックによる突発的な集中アクセスで、落ちてしまう、というのは、運営側としても、あまり納得がいくものではありません。 そのような突発的なアクセスに対応するために、大量のアクセスをしてくるクライアントを検出し、優先度を落すか、アクセス禁止にする方法などがあります。 というわけで、Apacheモジュールでそれを検出するためのmod_dosdetectorを開発しました。(ちなみにコア部分の開発期間は、Apacheモジュールって、どう書くんだっけ、という状態から、3日でした。) mod_dosdetectorは、Apacheモジュールとして動作し、クライアントのIPアドレスごとにアクセス頻度を測定し、設

    サーバにDoS耐性を付ける - stanaka's blog
    kgbu
    kgbu 2008/04/21
    ヘビーなアクセスをしてくるアドレスをbanしちゃうモジュール.lockoutのtimoutもあるそうだ。
  • とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする

    すこし前にはてなスターのリリースがされたのですが、サービス開始直後にありがちなことに、時々負荷で遅くなったり、アクセスしにくくなったりしてしまいました*1。これではいけない、ということで、すぐ次の日に、バックエンドのサーバを一気に10台近くまで増やして、おおむね快適に使える状態になっていると思います。この時に、新しいサーバをまっさらな状態から、だいたい30分程度で番投入することができていました。これを、どのように実現したのかを軽く紹介したいと思います。 ちなみに、サービスの重さは、サーバ増強だけで済むものではなく、それ以降も、Javascriptが重い!とか、アプリケーションロジックで重いSQL を走らせてしまって遅いという問題は何回かありました。が、そこはインフラではなく、アプリケーションの問題で、アプリケーションの改善は、継続的に進んでいると思います。ので、今回は、インフラの話に限定

    とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする
    kgbu
    kgbu 2008/04/21
    10台投入がすごいんじゃなくて更の状態から30分というところが、障害対応なんかには重要。
  • MySQL Conference 2008に行って来た - stanaka's blog

    今年もMySQL Conference 2008に行ってきました。社内向けの報告資料と雑多なメモですが、よろしければ参考にしてください。 *1 概要 MySQLがSunに買収されて始めてのConference 8セッション並列で、OSCONの規模にだいぶ近い MySQLが扱うトラフィック量・データ量がどんどん大きくなってきており、それにどう追従するか、という観点の話が多い 買収の話とか "MySQL、新機能追加は有償版の「MySQL Enterprise」だけを対象に"というのは、かなりミスリーディングな記事 実体は一部のセキュリティ形の機能やnative storage engine-specific driverをMySQL Enterpriseとして出す、という話 Backup機能や、Falcon, Mariaといったストレージエンジンの開発では、Community ServerとE

    MySQL Conference 2008に行って来た - stanaka's blog
    kgbu
    kgbu 2008/04/21
    Sunに買収された後のMySQLの動向が出ていたらしい。データベース本体はGPLで行くみたいだが、管理周りで稼ぐってことかな。
  • 1