タグ

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

  • Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog

    追記(2/8 11:30) id:naoyaによる一連のまとめが【今北産業】3分で分かるLTSV業界のまとめ【LTSV】 - naoyaのはてなダイアリーにあります。 また、仕様などをまとめるために http://ltsv.org/ を立ち上げました。 追記ここまで Labeled Tab Separated Values (LTSV) というのは、はてなで使っているログフォーマットのことで、広く使われているTSV(Tab Separated Value)フォーマットにラベルを付けて扱い易くしたものです。はてなでは、もう3年以上、このフォーマットでログを残していて、one-linerからfluentd、Apache Hiveまで幅広く便利に使えています。 ログフォーマットに期待されることは、 フォーマットが統一されている → 共通のツールで集計し易い 新しいフィールドの追加が容易 → サー

    Labeled Tab Separated Values (LTSV) ノススメ - stanaka's blog
  • 自作サーバカンファレンス - stanaka's blog

    昨晩、自作サーバカンファレンスを開催しました。その時のオープニングプレゼンを公開します。(オープニングなので短かいものですが) Original Server ConferenceView more presentations from Shinji Tanaka. カンファレンスの内容については、id:rx7さんのエントリとBB watchさんの記事があがっておりますので、それらをご参照ください。id:rx7さんのエントリには、Ustreamの録画もありますので、是非、ご覧ください。 他のスピーカーの方にも資料公開をお願いしております。公開され次第、リンクを追加していきたいと思います。 来年もネタが溜まれば、是非開催したいと思いますので、今後ともよろしくお願いします。

    自作サーバカンファレンス - stanaka's blog
  • サーバにDoS耐性を付ける - stanaka's blog

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

    サーバにDoS耐性を付ける - stanaka's blog
  • とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする

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

    とあるはてな社員の日記 - まっさらなサーバを30分で本番投入できるようにする
  • CPANモジュールをスクリプト一発で依存解決しつつrpm化する - とあるはてな社員の日記

    少し前にmizzyさんに そういえば、まっさらなサーバを30分で番投入できるようにする で stanaka さんが「CPANの依存関係を解析してrpm化する手製スクリプトで、CPANモジュールのrpm化が、ほぼ自動化されています」と書いてるんだけど、これって公開してくれないのかなー。 HowToRpmizeCpanModules - mizzy.org - Trac と突かれたので、githubで公開してみます。 http://github.com/stanaka/cpan-dependency/tree/master 突かれたついでにmizzyさんに軽く動作確認してもらったところ、それなりに動いているようです。また、はてなでは、このスクリプトを利用して、日々それなりの数のCPANモジュールのrpm化を行っていますので、だいたいうまく動くのではないかと思います。 CentOSやFedor

    CPANモジュールをスクリプト一発で依存解決しつつrpm化する - とあるはてな社員の日記
  • KOF2009「ウェブサービスのパフォーマンスとスケーラビリティ」 - stanaka's blog

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

    KOF2009「ウェブサービスのパフォーマンスとスケーラビリティ」 - stanaka's blog
  • 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) - とあるはてな社員の日記
  • 1